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 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 NachbereitungIn 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-01To use the TUI interface, there are some more gem requirements:
curseslistenoderrb-inotifyoderfilewatcher
You can reach a help interface by pressing h.