From ed0164a25f6062ba12b55bc9b423752ddb69248e Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Fri, 21 Mar 2014 11:22:14 -0700 Subject: [PATCH] posts:harvest: Add a post on Harvest and hcl --- posts/Harvest.mdwn | 79 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 posts/Harvest.mdwn diff --git a/posts/Harvest.mdwn b/posts/Harvest.mdwn new file mode 100644 index 0000000..1389385 --- /dev/null +++ b/posts/Harvest.mdwn @@ -0,0 +1,79 @@ +[Harvest][] is a time-tracking service (although I prefer the local +[timebook][], for which I maintain an ebuild in my +[[overlay|Gentoo_overlay]]). There is an [hcl][] command line app +(distributed as a Ruby gem) that you can use to clock in and out via +the command line. Harvest sorts folks into [subdomains][], and you'll +need to know your subdomain to configure `hcl`: + + $ hcl + Please specify your Harvest credentials. + Email Address: you@example.net + Password: + Subdomain: example + Use SSL? (y/n): y + Writing configuration to /home/you/.hcl/config.yml. + ------------- + 0:00 total (as of 05:28 pm) + +You can also get help with the usual `hcl --help`. + +Harvest tracks [projects][] and [tasks][], each with numeric ids. You +can find prject ids (via the web UI) by browsing to a [specific +project][project]. You can use the web UI to add yourself to +projects, but that probably takes admin powers. Once you're added, to +a project, hcl will list its tasks (with numeric project and task +identifiers): + + $ hcl tasks + 1234 5678 Example Co. - [MP] My Project - Feature Development + 1234 1357 Example Co. - [MP] My Project - Maintenance / Debugging + 1234 2468 Example Co. - [MP] My Project - Project Managment + 1234 9090 Example Co. - [MP] My Project - System Administration + +You can refer to tasks by their project and task numbers, or assign +aliases: + + $ hcl alias dev 1234 5678 + $ hcl alias maint 1234 1357 + $ hcl alias proj 1234 2468 + $ hcl alias sysadmin 1234 9090 + $ hcl aliases + @dev, @maint, @proj, @sysadmin + +Then start tasks by their alias: + + $ hcl @proj + +You can optionally backdate your start time and provide an additional +message: + + $ hcl @proj +0:20 Harvest time-tracking + +See what you're currently doing: + + $ hcl + 0:22 (running) Beehive: Harvest time-tracking + ------------- + 0:22 total (as of 09:42 am) + +Add notes about your activity: + + $ hcl note Documenting basic hcl usage + +And clock out when you're done: + + $ hcl stop Coffee break + +The Harvest folks publish the [API][] in a Git repository, so it's +easy to track changes or grep for keywords. + +[Harvest]: http://www.getharvest.com/ +[timebook]: https://bitbucket.org/trevor/timebook/overview +[hcl]: https://github.com/zenhob/hcl +[subdomains]: https://example.harvestapp.com/ +[projects]: https://example.harvestapp.com/projects +[tasks]: https://example.harvestapp.com/tasks +[project]: https://example.harvestapp.com/projects/1234/edit +[API]: https://github.com/harvesthq/api + +[[!tag tags/tools]] -- 2.26.2