harvest-reporting
Harvest Time tracking and reporting API implementation
Docs: Harvest Reporting Docs
Configration of Notifications
YAML Settings
There is an example yaml that shows how to set up every kind of integration.
Global Hooks
There are two types of global hooks. Emails and WebHooks.
Emails are in the block labeled globalEmails. All emails in this block receive all
notifications. This includes client names and usage information. This should only be
used for internal notification for project owners or business management.
globalEmails:
- firstEmailAddress@example.com
- secnodEmailAddress@example.com
Hooks are listed in the globalHooks. All hooks in this block will receive all
notifications. This includes client names and usage information. This should only be
used for internal notification for project owners or business management.
globalHooks:
- https://hooks.slack.com/services/GlobalHooksForAllClients
- https://hooks.slack.com/services/GlobalHookForProjects
Client Specific Hooks
Each client listed in the configuration has its own section. This section has two types of hooks that can be enabled.
All webhooks are to be listed under hooks: for the client. This
list is provider agnostic and will auto-switch the formatting based on
if MS Teams or Slack is detected. This hook will only send specific client data.
clients:
- name: LotsOfHours
hours: 160
hooks:
- https://hooks.slack.com/services/dude/what!
- https://outlook.office.com/webhook/lotsOfhashes
All destination email addresses are to be listed under emails:
clients:
- name: Email Only
hours: 160
emails:
- primary@emailonly.com
- secondary@emailonly.com
CLI
Installing as CLI
you can install this package off of pypi
pip install harvestcli
or you can clone the project install the project from that directory.
pip install .
Environment Variables
When using the cli Environment Variables can be used as an alternative to providing the input via command line flags.
| Variable | Option |
|---|---|
| BEARER_TOKEN | -b, --bearer-token |
| HARVEST_ACCOUNT_ID | --account-id |
| HARVEST_CONFIG | --config-path |
| SENDGRID_API_KEY | -s, --send-grid |
Local Development
Create virtual env
pipenv shell
Install Dev dependencies
pipenv install --dev --skip-lock
Generate Docs
Install the devrequirements to install sphinx and its dependencies then run
sphinx-build .docs docs
Hosting the docs
cd docs && python -m http.server
This will host the docs locally on 8000
Release files for harvestcli 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| harvestcli-0.1.1.tar.gz | 9.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| harvestcli-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.3 kB
Release files / harvestcli-0.1.1.tar.gz
| Download URL | harvestcli-0.1.1.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
412d9ceecc6b1b59a57f49b68871d067b76279183c7992ffac8fbb38f2a77a79
|
|
BLAKE2b-256 checksum How to use checksums |
2a35560b0824d5561eb0476cff861f44efda9e5d000fd71be53b958f824892a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2
|
Release files / harvestcli-0.1.1-py3-none-any.whl
| Download URL | harvestcli-0.1.1-py3-none-any.whl |
|---|---|
| Size | 23.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8db8fd5cec05add4b390989f5eb97a913c0f4971d5db99825650f25505f1d9d6
|
|
BLAKE2b-256 checksum How to use checksums |
391a5dbaf76413d97a21c838902b38ed2bb23589523194eaf8b07abae89139ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2
|