To set up this Harvest Forecast in Stitch, you need to create a personal access token in the developer tools section of Harvest's website.
-
Install
Clone this repository, and then install using setup.py. We recommend using a virtualenv:
virtualenv -p python 3 ~/virtualenvs/tap-harvest-forecast source ~/virtualenvs/tap-harvest-forecast/bin/activate python setup.py install
We will also install a target, which isn't required but will let us save the output nicely
virtualenv -p python 3 ~/virtualenvs/target-csv source ~/virtualenvs/target-csv/bin/activate python setup.py install
The reason for this is that taps and targets both need their own environments to work properly. More on development is in the singer docs
-
Create your tap's
tap_config.jsonfile which should look like the following: Create aconfig.jsonfile in the following format, whereclient_id,client_secretandrefresh_tokenare the credentials you just created in the Requirements, andstart_dateis the date you want to start the sync from
{
"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": "tap-harvest-forecast (your.email@example.com)"
}Windows users will need to install WSL and develop within a linux environment as a result of a formatting issue on windows, see this issue
Singer.io should work inside the bash environment as it would on linux
- All available data from the Harvest Forecast API is replicated. Currently, this includes information returned from the assignments, clients, milestones, people, and projects endpoints.
- Calls to the Harvest Forecast API is limited to 100 every 15 seconds, with 5 max tries if a request isn't completed successfully. The tap should remain well below this max during normal use.
Each header denotes the table name.
- Description: Assigments of projects to users.
- Primary key column(s): id
- Replicated fully or incrementally (uses a bookmark to maintain state): Fully
- Bookmark column:
updated_at - Link to API endpoint documentation: https://help.getharvest.com/forecast/faqs/faq-list/api/
- Description: All clients.
- Primary key column(s): id
- Replicated fully or incrementally (uses a bookmark to maintain state): Incrementally
- Bookmark column:
updated_at - Link to API endpoint documentation: https://help.getharvest.com/forecast/faqs/faq-list/api/
- Description: All milestones and their project ids.
- Primary key column(s): id
- Replicated fully or incrementally (uses a bookmark to maintain state): Incrementally
- Bookmark column:
updated_at - Link to API endpoint documentation: https://help.getharvest.com/forecast/faqs/faq-list/api/
- Description: All people and the details pertaining to them.
- Primary key column(s): id
- Replicated fully or incrementally (uses a bookmark to maintain state): Incrementally
- Bookmark column:
updated_at - Link to API endpoint documentation: https://help.getharvest.com/forecast/faqs/faq-list/api/
- Description: All projects and the details pertaining to them.
- Primary key column(s): id
- Replicated fully or incrementally (uses a bookmark to maintain state): Incrementally
- Bookmark column:
updated_at - Link to API endpoint documentation: https://help.getharvest.com/forecast/faqs/faq-list/api/