Programmable Processes for Redmine
Instead of tedious clicking through the Redmine user interface and doing the same things over and over again, you can describe how it works once. Then you can execute the process from the command line. redmineBOOST will ask you for the necessary data and will take care of the rest. Boost the productivity of your daily work with Redmine using redmineBOOST on the command line.
An Example
Let's say you track issues for a project in Redmine. The example 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 the following:
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
Easy, right? To clarify how much you had to type, the user input is emphasised. Now let's see how this 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 didn't even bother to add everything you need to do.
Benefits
With redmineBOOST even simple tasks get boosted.
Define processes and use them
Instead of documenting processes and then training users how to map it in Redmine, define it within a redmineBOOST process and reuse it. Done!
Versioned processes
redmineBOOST processes are stored in files. Each file can be versioned. Backup. Change. Introspect. 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 execute the redmineBOOST process. Done!
Data inputs are collected efficiently
No re-entering the same information each and every time. It's written once and used.
Use Redmine constructs as they are meant to be used
Creating projects with specific module configurations, roles and users - no problem. Nesting issues and linking them - no problem. All that is done automatically with redmineBOOST.
Process Description
And how does it work? The following figure shows the described example redmineBOOST process from 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 } } |