Track time for Redmine project with Emacs
Add following to your init.el:
(add-to-list 'load-path "/path/to/redtime.el/")
(require 'redtime)
(add-to-list 'redtime/hosts '("https://your-redmine-host.org" . "api-key-a"))
(add-to-list 'redtime/hosts '("https://another-redmine.org" . "api-key-b"))
It is highly recommended to have flx
package installed alongside with redtime
.
To start tracking: M-x redtime-start
To stop tracking and save to Redmine: M-x redtime-stop
To discard currently tracked time: M-x redtime-discard
Switch Redmine hosts with M-x redtime-switch-host
and projects with M-x redtime-switch-project
.
If only one host was added to 'redtime/hosts, then it will be used by default. Otherwise, you will be prompted to select one from list.
Invoke reports table with: M-x redtime-last-entries
,
or for a specific date with M-x redtime-day-entries
(You will be prompted with default org-mode calendar to pick a date).
Use prefix to show last N records: C-u 30 M-x redtime-last-entries
,
same goes for day report: C-u 10 M-x redtime-day-entries
.
Keybinding | Description |
---|---|
q | Quit buffer |
? | Show keybindings |
f u | Filter table by user |
f x | Filter reset |
s a | Sort by activity |
s d | Sort by date |
s u | Sort by username |
s i | Sort by issue |
s h | Sort by hours |
Sorting order is reversed when you hit same keybinding twice, like s d s d
.
Due to default limitation of Redmine API,
users list recived through project's membership,
so you need to select project first
(from given prompt or M-x redtime-switch-project
).
Keybinding | Description |
---|---|
Return | Choose date at cursor in calendar. |
mouse-1 | Select date by clicking on it. |
S-→ / S-← | One day forward/backward. |
S-↑ / S-↓ | One week forward/backward. |
M-S-→ / M-S-← | One month forward/backward. |
> / < | Scroll calendar forward/backward by one month. |
M-v / C-v | Scroll calendar forward/backward by 3 months. |
M-S-↑ / M-S-↓ | Scroll calendar forward/backward by one year. |
Note: S is for Shift here.