https://github.com/reobin/harvester
Aggregate time logged in Harvest.
https://github.com/reobin/harvester
Last synced: about 1 year ago
JSON representation
Aggregate time logged in Harvest.
- Host: GitHub
- URL: https://github.com/reobin/harvester
- Owner: reobin
- Created: 2022-11-25T23:34:55.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-03T14:34:27.000Z (over 3 years ago)
- Last Synced: 2024-04-13T17:52:17.340Z (about 2 years ago)
- Language: Elixir
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Harvester
> Aggregate hours logged in Harvest in order to generate an invoice.
## Table of contents
- [Requirements](#requirements)
- [Harvest API](#harvest-api)
- [Get started](#get-started)
- [Get started (docker)](#get-started-docker)
- [CLI](#cli)
## Requirements
- [mix (elixir)](https://elixir-lang.org/install.html)
- or [Docker](https://docs.docker.com/get-docker/)
### Harvest API
Some variables are needed for this script to authenticate to the Harvest API:
- Harvest account ID
- Harvest API token
Copy the example config file and fill the values:
```sh
cp config/example.secrets.exs config/secrets.exs
```
## Get started
Install dependencies:
```sh
mix deps.get
```
Run the script:
```sh
mix harvester.run
```
## Get started (docker)
Build the container:
```sh
docker build -t harvester .
```
Run the script:
```sh
docker run harvester
```
## CLI
### Aggregate time entries for a specific month
```sh
mix harvester.run 2022-12 # get time entries for December 2022
```
### Aggregate time entries between two dates
```sh
mix harvester.run --from 2022-12-01 --to 2022-12-31
```