blob: b25d2c99443fb0fe4f01e9ced382df6ab669246c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
# HCl
HCl is a command-line tool for interacting with Harvest time sheets using the
[Harvest time tracking API][htt].
[htt]: http://www.getharvest.com/api/time_tracking
## Quick Start
You can install hcl directly from rubygems.org:
$ gem install hcl
$ hcl show [date]
or you can install from source using jeweler:
$ gem install jeweler
$ rake install
## Usage
hcl [start] (@<task_alias> | <project_id> <task_id>) [+<time>] [<message>]
hcl note <message>
hcl stop [message]
hcl resume [@<task_alias>]
hcl show [date]
hcl tasks
hcl alias <task_alias> <project_id> <task_id>
hcl aliases
hcl (cancel | nvm | oops)
### Available Projects and Tasks
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.
$ hcl tasks
### Starting a Timer
Since it's not practical to enter two long numbers every time you want to
identify a task, HCl supports task aliases:
$ hcl alias tacodev 1234 5678
$ hcl @tacodev Adding a new feature
### Starting a Timer with Initial Time
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 equivalent:
$ hcl @tacodev +0:15 Doing some stuff
$ hcl +.25 @tacodev Doing some stuff
### Adding Notes to a Running Task
While a task is running you can append lines to the task notes:
$ hcl note Then I did something else
### Stopping a Timer
The following command will stop a running timer (currently only one timer at
a time is supported). You can provide a message when stopping a timer as
well:
$ hcl stop All done doing things
### Resuming a Timer
You can resume a stopped timer. Specify a task to resume the last timer
for that task:
$ hcl resume
$ hcl resume @xdev
### Canceling a Timer
If you accidentally started a timer that you didn't mean to, you can cancel
it:
$ hcl cancel
This will delete the running timer, or the last-updated timer if one isn't
running. You can also use `nvm` or `oops` instead of `cancel`.
### Date Formats
Dates can be expressed in a variety of ways. See the [Chronic documentation][cd]
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
[cd]: http://chronic.rubyforge.org/
## Author
HCl was designed and implemented by [Zack Hobson][zgh].
* Non-SSL support by [Michael Bleigh][mbleigh].
* Resume command by [Brian Cooke][bricooke].
* UI improvements by [Chris Scharf][scharfie].
See LICENSE for copyright details.
[zgh]: http://github.com/zenhob
[mbleigh]: http://github.com/mbleigh
[bricooke]: http://github.com/bricooke
[scharfie]: http://github.com/scharfie
|