A much requested feature in VCS integration is the ability to close issues using the commit message. We have (finally) implemented this, but as usual, have decided to go a little bit further. In The Bug Genie 3.2, you will optionally be able to use your commit message to navigate through the issue’s workflow, using only basic syntax.
So how does this work?
You may have noticed that incoming emails allows you to navigate through the workflow. We work in a near identical fashion. The difference is how the message is structured.
In incoming emails, you use a syntax similar to this:
resolve issue resolution=WONTFIX This is my comment ---
The workflow steps and parameters are all on separate rows.
In VCS integration, we don’t have this luxury so we compact everything together:
Fixes issue 1 (resolve issue: resolution=WONTFIX)
Simply place the workflow step in brackets, and if there are parameters for the step, just place them after a ‘: ‘ delimiter. You can also have multiple parameters:
Fixes issue 1 (resolve issue: resolution=WONTFIX status=kittens)
You may also wish to perform multiple transitions at once, this can be done by using a ‘, ‘ delimiter after the parameters. You don’t have to supply parameters either:
Fixes issue 1 (confirm issue, resolve issue: resolution=WONTFIX, reopen issue)
If a workflow step fails, or if it doesn’t exist, you won’t be notified; so while there is no risk of a mistyped commit breaking the commit process, you may want to double check to see if your workflow step was applied.
Similarly to incoming emails, the workflow steps are just as they are in the toolbar when viewing an issue, so there is little to learn.
If you are eager to try this out, this feature will be appearing in our github repository later today. It will also be included in 3.2 beta 3, along with a working module (it has been broken as a result of the database changes).