JIRA Smart Commits

JIRA Smart Commits

JIRA is a well-known issue tracking tool by Atlassian. It is widely used in large organizations for tracking work at multiple levels. It offers limitless possibilities for configuring workflows, and levels of work to match even the most complicated needs enterprises might have. By comparison, issue tracking in Deveo takes a much simpler approach, resembling the interface and user-experience of another famous issue tracking tool, Trello. One of our core values being simplicity, we strive to solve even the most complex problems with the most simple solution possible.

As JIRA can be considered as a de-facto issue tracking tool in large organizations, Deveo has good support for interoperability between the code commits made to Deveo's Git, Subversion or Mercurial repositories and tickets that are in JIRA. The interoperability between Deveo and JIRA happens through smart commits, which allow processing JIRA issues with commit messages. Smart commits allow developers to perform actions such as transitioning or commenting JIRA issues by embedding specific commands into commit messages.

With Deveo smart commits, you can:

  • comment on issues
  • record time tracking information against issues
  • transition issues to any status defined in the JIRA project's workflow

You can also:

  • add, set or remove version and fixed version, components and labels for a given issue
  • set the assignee, description, priority, reporter, summary or the resolution for an issue

Setting up smart commits

Smart commits work through a post-commit hook that is added and configured against a given repository and JIRA server. Adding the JIRA hook happens from the hooks view in a Deveo project. The hooks can be added to any version control system repository.

JIRA hook in Deveo hooks

You will need to know the JIRA server URL, and have credentials to edit the project the smart commits will reference. Thus, for different JIRA and Deveo projects, different credentials might be required.

Smart commit commands basics

Smart commits are read from commit messages and the basic syntax for them is:

<any text> <ISSUE_KEY> <any text> #<COMMAND> <optional COMMAND_ARGUMENTS>  

As a simple example, commenting a JIRA issue with a commit can be achieved with the following commit message:

JR-456 #comment this is a comment to the JIRA ticket.  

The commit above would both reference the JIRA issue as well as leave a comment within it. The result is shown in the screenshot below:

Commit in Deveo referencing a JIRA issue

As you can see, there's both the comment that was specified with the #comment verb, in addition to a separate reference that links the JIRA issue to the commit in question. With the link, we can get to the code changes in Deveo with a single click.

If we take an example from the more complex end of the spectrum, we can transition the issue, comment it and add some time to the issue. All this happens with a commit below:

JR-456 #to-do #comment Still not working #time 1d 4.5h 10m It takes too much time!  

Connecting JIRA smart commits to code reviews.

In order to make JIRA smart commits in Deveo benefit the daily development workflow, you can even accomplish such automation that transitions a JIRA issue from one state to another once a code review in Deveo has been merged. This can be accomplished by adding a JIRA smart commit transition to the code review description. In the screenshot below, we illustrate a done transition for the #JR-456 JIRA issue.

Deveo code review that will transition a JIRA issue once merged

This works because, in Deveo, the code review description will always be included in the merge commit that is created once the code review has been merged. As the description contains the transition information, the Deveo JIRA hook works as it would work for any other commit, as does the transition.

Conclusion

Using JIRA smart commits with Deveo JIRA hook is a powerful way to build interoperability between Git, Subversion and Mercurial version control systems and JIRA issue tracking. It saves time, automates tasks, and connects information together.

We recorded and released a YouTube video demonstrating the capabilities of JIRA smart commits in Deveo. You can watch it below.

If you like the look of this functionality, sign to Deveo for free to give it a spin.

Seamless software development.

Code management and collaboration platform with Git, Subversion, and Mercurial.

Sign up for free
comments powered by Disqus