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.