A singer.io tap for extracting data from the Harvest REST API, written in python 3.
API V1 Author: Jordan Ryan ([email protected]) API V2 Author: Steven Hernandez ([email protected])
-
Install
Clone this repository, and then install using setup.py. We recommend using a virtualenv:
> virtualenv -p python3 venv > source venv/bin/activate > python setup.py install
-
Create your tap's config file which should look like the following:
{ "client_id": "OAUTH_CLIENT_ID", "client_secret": "OAUTH_CLIENT_SECRET", "refresh_token": "YOUR_OAUTH_REFRESH_TOKEN", "start_date": "2017-04-19T13:37:30Z", "user_agent": "MyApp ([email protected])", "request_timeout": 300 }
-
[Optional] Create the initial state file
{ "clients": "2000-01-01T00:00:00Z", "contacts": "2000-01-01T00:00:00Z", "estimate_item_categories": "2000-01-01T00:00:00Z", "estimate_messages": "2000-01-01T00:00:00Z", "estimates": "2000-01-01T00:00:00Z", "expense_categories": "2000-01-01T00:00:00Z", "expenses": "2000-01-01T00:00:00Z", "invoice_item_categories": "2000-01-01T00:00:00Z", "invoice_messages": "2000-01-01T00:00:00Z", "invoice_payments": "2000-01-01T00:00:00Z", "invoices": "2000-01-01T00:00:00Z", "project_tasks": "2000-01-01T00:00:00Z", "project_users": "2000-01-01T00:00:00Z", "projects": "2000-01-01T00:00:00Z", "roles": "2000-01-01T00:00:00Z", "tasks": "2000-01-01T00:00:00Z", "time_entries": "2000-01-01T00:00:00Z", "user_projects": "2000-01-01T00:00:00Z", "users": "2000-01-01T00:00:00Z" }
-
Run the application
tap-harvest
can be run with:tap-harvest --config config.json [--state state.json]
Copyright © 2017 Stitch