Programmable Processes for Redmine in the Terminal
Instead of tediously clicking through the Redmine user interface and doing the same thing over and over again, you can describe how it works once. Then you can execute the process in the terminal. redmineBOOST will ask you for the necessary data and do the rest. Increase the productivity of your daily work with Redmine by using redmineBOOST in the terminal.
An Example
Let's say you track issues for a project in Redmine. The sample process described creates an issue and asks for a project, subject, tracker, description and note. The command line based execution of a redmineBOOST process might look like this:
Project#1: Project1
Project#2: Project2
Project#3: Project3
value: Project#3: Project3
value: Issue
Tracker#1: Bug
Tracker#2: Feature
value: Tracker#2: Feature
value: Example description
value: Lorem ipsum …
assignedTo: User
project: Project3
subject: Issue
tracker: Tracker
description: Example description
notes:
* Create Note
text: Notes
Simple, right? To illustrate how much you had to type, the user input is highlighted. Now let's see what it would look if you did it all in the Redmine user interface:
New Issue
Tracker #42✏️
Example Issue
Added by User just now.
| Status | New | Start date | today |
| Priority | Normal | Due Date | today + 30d |
| Assignee | User | % Done | 0% |
| Tracker | Tracker |
Example description
Tracker #2
Example Issue
Added by User just now.
| Status | New | Start date | today |
| Priority | Normal | Due Date | today + 30d |
| Assignee | User | % Done | 0% |
| Tracker | Tracker |
Example description
Edit
That's a lot of user interaction. And we haven't even bothered to add everything you need to do.
Benefits
With redmineBOOST even the simplest tasks can be boosted.
Define and Deploy Processes
Instead of documenting processes and then training users on how to map them in Redmine, define them in a redmineBOOST process and reuse them. Done!
Versioned Processes
redmineBOOST processes are stored in files. Each file can be versioned. Backup. Modify. Examine. Evolve.
Reduced Navigation in Redmine
You don't have to navigate to a specific project and then go through the steps of your process, you just run the redmineBOOST process. Done!
Data Input is Collected Efficiently
No need to re-enter the same information each and every time. It's written once and used.
Use Redmine Constructs the Way they are Meant to be Used
Creating projects with specific module configurations, roles and users - no problem. Nesting and linking issues - no problem. It all happens automatically with redmineBOOST.
Process Description
And how does it work? The following figure shows the example redmineBOOST process described above. A domain specific language is used for description.
|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
// Present choice for a project let issueProject = Choice<Project> { description: "Select project:"; options: GetProjects(); }.value; // Show line editor to enter issue subject let issueSubject = LineInput { description: "Issue subject:"; }.value; // Present choice for a tracker let issueTracker = Choice<Tracker> { description: "Select tracker:"; options: GetTrackers(); }.value; // Show editor to enter multiline description let issueDescription = TextInput { description: "Issue description:"; }.value; // Show editor to enter multiline note let issueNote = TextInput { description: "Issue note:"; }.value; // Create issue with provided data Issue { assignedTo: GetCurrentUser(); project: issueProject; subject: issueSubject; tracker: issueTracker; description: issueDescription; Note { text: issueNote; } } |