Singer.io tap for extracting data from the Zendesk API
Project description
Pipelinewise-tap-zendesk
Singer tap that extracts data from a Zendesk API and produces JSON-formatted data following the Singer spec.
This is a PipelineWise compatible tap connector.
How to use it
The recommended method of running this tap is to use it from PipelineWise. When running it from PipelineWise you don't need to configure this tap with JSON files and most of things are automated. Please check the related documentation at Kafka
If you want to run this Singer Tap independently please read further.
Install and Run
First, make sure Python 3 is installed on your system or follow these installation instructions for Mac or Ubuntu.
It's recommended to use a virtualenv:
python3 -m venv venv
pip install pipelinewise-tap-zendesk
or
python3 -m venv venv
. venv/bin/activate
pip install --upgrade pip
pip install -e .[test]
Configuration
Authentication
Using OAuth
OAuth is the default authentication method for tap-zendesk
. To use OAuth, you will need to fetch an access_token
from a configured Zendesk integration. See https://support.zendesk.com/hc/en-us/articles/203663836 for more details on how to integrate your application with Zendesk.
config.json
{
"access_token": "AVERYLONGOAUTHTOKEN",
"subdomain": "acme",
"start_date": "2000-01-01T00:00:00Z"
}
Using API Tokens
For a simplified, but less granular setup, you can use the API Token authentication which can be generated from the Zendesk Admin page. See https://support.zendesk.com/hc/en-us/articles/226022787-Generating-a-new-API-token- for more details about generating an API Token. You'll then be able to use the admins's email
and the generated api_token
to authenticate.
config.json
{
"email": "user@domain.com",
"api_token": "THISISAVERYLONGTOKEN",
"subdomain": "acme",
"start_date": "2000-01-01T00:00:00Z"
}
Run the tap in Discovery Mode
tap-zendesk --config config.json --discover # Should dump a Catalog to stdout
tap-zendesk --config config.json --discover > catalog.json # Capture the Catalog
Run the tap in Sync Mode
tap-zendesk --config config.json --catalog catalog.json
The tap will write bookmarks to stdout which can be captured and passed as an optional --state state.json
parameter to the tap for the next sync.
To run tests:
- Install python test dependencies in a virtual env and run nose unit and integration tests
python3 -m venv venv
. venv/bin/activate
pip install --upgrade pip
pip install .[test]
- To run tests:
nosetests test
To run pylint:
- Install python dependencies and run python linter
python3 -m venv venv
. venv/bin/activate
pip install --upgrade pip
pip install .[test]
pylint --rcfile .pylintrc tap_zendesk
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pipelinewise-tap-zendesk-1.2.1.tar.gz
.
File metadata
- Download URL: pipelinewise-tap-zendesk-1.2.1.tar.gz
- Upload date:
- Size: 30.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed0cfea7f42b32c9ab30710d45f2da9a57212401315655eb2a28945e823bb943 |
|
MD5 | f2904c7c37592a00c6149c3125079629 |
|
BLAKE2b-256 | 3d40076941ddbf9a8bd8d323266239b8992a69243d4718bd7bc2232e5b3f6250 |
File details
Details for the file pipelinewise_tap_zendesk-1.2.1-py3-none-any.whl
.
File metadata
- Download URL: pipelinewise_tap_zendesk-1.2.1-py3-none-any.whl
- Upload date:
- Size: 35.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a0daf4d4f0cf79e29e21f2433c15dc07a748fd1ea4c7640e0f6ef49634b104d |
|
MD5 | 41f22840b46066e463fcac45cc833465 |
|
BLAKE2b-256 | c874c1d6159a63979033530ffa6e0706a5a0734c342a21e20c66e2b5690eb964 |