redmine-cli
A command line interface for redmine
Because using the browser is overrated.
Installation
You first need to have Ruby with RubyGems.
Then run:
gem install redmine-cli
redmine install
This will create a .redmine file in your home directory. The file is a yaml file which contains our necessary configuration
During install, you can select the fields that you wish to be displayed, or accept the default (url, status, subject). This list can contain custom fields.
Note that previous versions of redmine-cli installed a version of .redmine that do not take full advantage of new features. For compatiblity purposes, this version is compatible with older .redmine files. However, for best results, you should re-run "redmine install" every time you upgrade the gem.
Usage
You can get help by simpling executing:
redmine
Listing tickets
redmine list
redmine list -a me -T bug
Display ticket
redmine show 524
Updating a ticket
redmine update 524 -description "New description"
redmine update 256 --assigned_to me
Updating multiple tickets
redmine update 2 3 4 --assigned_to johndoe
Updating all tickets for a list
redmine list --status new --std_output | xargs redmine update --asigned_to me --status 3 -l
(Note that the last argument of the update command must be -l)
Interactively editing a ticket's fields
redmine edit --description 2
Your editor will pop up, and you can modify the field. The ticket will be updated when you save the file and exit the editor.
Configuration
Redmine-cli will install a default configuration file. However you can edit it to fit your redmine installation. You can add mappings for users, statuses, custom queries, and trackers like:
user_mappings:
"me": 1
"johndoe": 24
status_mappings:
"new": 1
"closed": 4
tracker_mappings:
"bug" : 1
"feature" : 2
This will allow to use those names with the commands instead of the ids your redmine installation uses.
Additionally, you can choose which fields are displayed when you use "redmine list" by editing the list_fields section like: list_fields: - project - id - tracker - status - priority - assigned_to - subject - updated_on
You can choose from any of these fields:
- url - A "clickable" link to the issue
- id - The ID number of the issue
- subject
- status - Open, Closed, Resolved, etc.
- start_date
- estimated_hours
- tracker - Bug, Feature, Improvement, etc.
- priority - Low, High, Immediate, etc. (Note: this field is colorized on terminals that support it)
- description
- assigned_to
- project
- author
- done_ratio
- due_date
- created_on
- updated_on
In addition to these fields, you can also specify any custom fields that you've configured in your Redmine site. If a field is not found on an issue, or the value is blank, then a blank value will be displayed in the list.
Known Issues
If you use a non-administrative account, redmine-cli's mapping cache will not be able to retrieve the list of users (you must manually populate the user mappings in this case). Additionally, you'll receive an error like this whenever you try to update an issue:
Updating mapping cache...
Failed to fetch users: Failed. Response code = 403. Response message = Forbidden.
If this happens, you can disable the caching feature by setting "disable_caching": true in ~/.redmine