tap-gong is a Singer tap for Gong.io.
It is built with the Meltano SDK for Singer Taps.
The Gong tap accepts the following configuration options:
access_key(required): An API access key generated in Gong.access_key_secret(required): The secret for the access key.start_date(required): The beginning date from which to start searching calls. Default is python min date.end_date(required): The end date for searching calls. Default is current date.
start_date and end_date are required and used in filter clause to make gong API calls. As of today, different API endpoints
have different requirements for filter dates. For example,
Calls endpoints: for calls endpoints, filter dates are optional and uses date-time format (e.g., '2018-02-18T02:30:00-07:00' or '2018-02-18T08:00:00Z', where Z stands for UTC).
Stats endpoints: for stats endpoints filter dates are mandatory and accepts date format (YYYY-MM-DD).
start_date must be less than end_date and end_date cannot be greater than current date for stats endpoints.
tap-gong uses python min date for start_date and current date for end_date if filter dates are not provided.
It also adjusts start_date by reducing one day if same date is provided for start_date and end_date.
Please refer to the Gong API documentation for more details.
A full list of supported settings and capabilities for this tap is available by running:
tap-gong --aboutGong API currently supports authentication Basic and OAuth authentication mechanism. This version of tap-gong currently supports only Basic authentication mechanism.
Credentials can be generated by following the instructions in the Gong API documentation.
You can easily run tap-gong by itself or in a pipeline using, for example, Meltano.
tap-gong --version
tap-gong --help
tap-gong --config CONFIG --discover > ./catalog.jsonThis project uses a pyproject.toml to define its requirements. To install a new
virtual environment with Poetry, run:
poetry installCreate tests within the tap_gong/tests subfolder and
then run:
poetry run pytestYou can also test the tap-gong CLI interface directly using poetry run:
poetry run tap-gong --helpWe only use poetry to manage our packages. Pipfile is there because our code scan doesn't support poetry.lock. So we do the following hack to generate Pipfile and Pipfile.lock based on our poetry.lock:
poetry export -f requirements.txt --output requirements.txt --without-hashes
Check:
pipenv --support
Install:
python -m pip install --user pipenv
2. Generate Pipfile and Pipfile.lock from requirements.txt (make sure you pass in right version of python)
pipenv install --python 3.13 -r requirements.txt
Check that the required python version in the Pipfile matches your expected python version. For some reason even if requirements.txt specify the right python version pipenv can still default to a different version based on the some stale versioning in the venv. In which case, do the following:
See the dev guide for more instructions on how to use the SDK to develop your own taps and targets.