HCl is a command-line tool for interacting with Harvest time sheets using the Harvest time tracking API. It supports both free and non-free accounts.
See github.com/zenhob/hcl for details.
$ gem install hcl
$ hcl show [date]
hcl show [date]
hcl tasks
hcl set <key> <value ...>
hcl unset <key>
hcl start (<task_alias> | <project_id> <task_id>) [+time] [msg ...]
hcl note <msg ...>
hcl stop
To start a new timer you need to identify the project and task. After you’ve used the show command you can use the tasks command to view a cached list of available tasks. The first two numbers in each row are the project and task IDs. You need both values to start a timer:
$ hcl show
-------------
0:00 total
$ hcl tasks
1234 5678 ClientX Software Development
1234 9876 ClientX Admin
$ hcl start 1234 5678 adding a new feature
Since it’s not practical to enter two long numbers every time you want to identify a task, HCl supports task aliases:
$ hcl set task.xdev 1234 5678
$ hcl start xdev adding a new feature
You can also provide an initial time when starting a new timer. This can be expressed in floating-point or HH:MM. The following two commands are identical:
$ hcl start xdev +0:15 adding a new feature
$ hcl start +.25 xdev adding a new feature
While a task is running you can append strings to the note for that task:
$ hcl note Found a good time
$ hcl note or not, whatever...
The following command will stop a running timer (currently only one timer at a time is supported):
$ hcl stop
Dates can be expressed in a variety of ways. See the Chronic documentation for more information about available date input formats. The following commands show the timesheet for the specified day:
$ hcl show yesterday
$ hcl show last friday
$ hcl show 2 days ago
$ hcl show 1 week ago
HCl is still very early in development and probably has some bugs. If you find a bug in HCl please file it using the issue tracker.
HCl was designed and implemented by Zack Hobson.
Non-SSL support was contributed by Michael Bleigh.
You can download this project in either zip or tar formats.
You can also clone the project with Git by running:
$ git clone git://github.com/zenhob/hcl