Automation of Routine Processes with JIRA Automation Plugin

August 5, 2014
#How To#Jira
7 min
Integrate TeamCity and JIRA quickly and easily.

Some History

Sometimes cool products appear out of the blue. People just look for a tool for solving their everyday tasks and provided they find none they create it from scratch. If they get a good result, they share it with others. This is how JIRA Automation Plugin came into existence. It’s a known fact that some issues in a bug-tracker or issue-tracker of a large company can go unattended and pop up after a while, which can be somewhat frustrating for users who submitted this issue.

This problem drove the Atlassian team to create a tool to prevent such situations. What to do if for a few weeks nobody commented on a bug that is hard to reproduce? How to understand, if it got to a new release or was fixed? How not to forget getting feedback from a user? JIRA Automation Plugin was meant to solve such problems. And it seems it did solve them since it was shared with the community to help other developers with similar issues.

Add-on Functionality

From the start, it was decided to keep the number of features low. However, each feature is quite functional, there’re a lot of thing you can do with them.

The add-on can:

  • execute some (Cron-based) JQL query and handle the results
  • add comments to existing issues
  • perform actions triggered by some events in JIRA

All this can help to do some thing automatically, like easy stuff as closing very old bugs that are not reproduced for a long time and are not important, or something more complicated. For example, when users log their work on a bug labelled as Important, the system can add a comment asking if it is fixed, and in case it is the label can be removed. It’s only a flow used in JIRA and your creativity that can limit you in coming up with tasks that can be done automatically with this add-on.

Not functional requirements

Truly powerful and popular solution should also be easy-to-use and safe. That’s why the list of requirements was expanded with:

  • easy and fast setting up
  • audit logging
  • loop protection (so JIRA don’t go down if user actions triggered an endless loop)

How does it work

To create an automated task, you need to create and enable at least one rule. The rule is created in 4 steps::

Setting a rule name and user account to work under

You can enable the rule right away.

JIRA Automation

Setting a trigger type

There may be only two types – a JQL expressions and an issue event.

When working with JQL filters, you need to specify a JQL expressin and time of executing this expressions in CRON format. You can also limit the number of results retrieved by the JQL expression.

In case you need to perform some actions triggered by an issue event, you should select these events (can be multiple). If you want, you can limit issues affected by the trigger (reduce their number). Also, you can set a limit for users whose actions can activate the trigger.

Adding triggered actions

There’re not many actions that can be performed automatically. Mainly, they are changing a responsible person, edit and delete an issue. However, you can add several of these which gives you a big range of possible solutions.

Almost there

All you need to do now is to check if everything is correct and here you go.

OK, one routine process is away. To use the add-on easily, there’re options of rule disabling, editing and copying for you. Of course, you can delete rules. The add-on audits rules actions and has a setting that limits the frequency of performing actions to avoid server overloading. However, this limiting algorithm is obscure and not customizable, you can only enable or disable it.

Conclusion

Atlassian made a pretty handy solution for automatically performing easy actions in JIRA. Although the tool is quite new, it boasts relatively flexible and, more importantly, intuitive settings and is quite good for a first version, however, there’s still room to improve.

It makes sense to use it on large JIRA instances with hundreds and thousands of users. Still it may be useful on smaller instances too.

The main drawback is the lack of evaluating consequences of creating a rule. For example, it would be great to see a warning before enabling the rule like ‘This action will affect a large number of issues (2985). Do you want to continue?’ with the Save and Disable buttons.

This is how the add-on looks like in real life: