The Buchungsstreber (translated roughly as 'time entry nerd') helps you adding time entries to Redmine. It enables writing a simple text file and will take care of adding those entries to one or more Redmine instances.
Questions? Help needed? Simply wanna talk?
- Matrix: #buchungsstreber:synyx.de
- E-Mail: buchungsstreber@synyx.de
- Contribution Guidelines
- Ruby 2.x/3.x
- bundler (for development)
- ncursesw (for buchungsstreber-tui) (compatible to ruby version)
- bad time entry moral
gem install buchungsstreber
(With configured package resource)
Or via git repository:
- Check out repository
- Install needed gems:
bundle install
- Initialize configuration with
buchungsstreber init
Or
-
Create configuration path:
mkdir ~/.config/buchungsstreber
-
Create config using the example config.
Add at least the own redmine API key and the path to your time entry file
timesheet_file
.
Depending on the usage you also need to configure the archive folder
archive_path
.
You can edit the configuration using buchungsstreber config
(or editing
~/.config/buchungsstreber/config.yml
).
You can visit the TUTORIAL if using it the first time.
Time entries are done as plaintext files, see Example. Each line represents one time entry.
A line is done according to this specification, each token separated by spaces or tabs:
- [Zeit] [Aktivität] [Ticket-Nr.] [Beschreibung]
2019-01-01:
- 1.5 Orga 12345 Nachbereitung
In this case, there would be a time entry on the 1st January for one and a half hours on ticket #12345. The activity would be organizational in nature and has a text after that.
Full descriptions for the two current plaintext formats:
As soon as there is at least one time entry, the Buchungsstreber can be run
via buchungsstreber
.
Don't worry, the Buchungsstreber will validate the entries first, and will not enter completely bogus times.
There is a curses based interface, which can be used to validate the entries and to enter the times into Redmine instances.
buchungsstreber watch today
buchungsstreber watch 2020-09-01
To use the TUI interface, there are some more gem requirements:
curses
listen
oderrb-inotify
oderfilewatcher
You can reach a help interface by pressing h
.