7 Things You need to Know about Automation for Jira

13 July 2021
Comments are off for this post

Automation for Jira is one of the most popular apps on Jira. The app allows users to automate and extend Jira with no coding required. Being very user-friendly, there are a lot of admins who can dive straight into using the tool without reading the user guide. As part of our Best Practices series, we have summarised the key things you need to know in this blog post.

For those who are new to Automation for Jira, you can check out this YouTube video below for an introduction.

Things you need to know

1) Asynchronous processing

To speed up on the response time, the Automation for Jira plugin will add all updated issues into a queue. Although there are 8 background threads to process the requests, it still does not ensure the issue are processed immediately. Therefore, users will need to refresh the issue to view the changes applied by the automation rule.

It is possible to select synchronous execution of the rule but that will have some impact in the performance.

2) Rule Matching/Execution

Whenever an issue is updated, the issue is matched against all the configured automation rules (global + project) . As a result, when there are a lot of automation rules, it takes time to 

  • to check against each individual automation rule
  • to execute against each matching automation rule

Hence it is important to reduce the number of global automation rules by setting them as single project rules whenever possible. You should try to optimise the rules with more specific requirements.

If you are seeing a lot of No Actions Performed in the rule’s audit log, then there might be chance for optimising the rule

No actions performed could mean a waste of processing time

3) Traceability

The powerful app allows multiple rules to update an issue due to a single triggered event. As a result, it may not be direct to identify the problematic rule. Moreover, if multiple rules are chained together without proper planning, it could lead to “spaghetti code” scenarios which is not easy to troubleshoot.

If the update is via workflow post functions, it would be easier to identify the bug.

4) Performance & Runtime

To cater to the flexibility and power of the Automation for Jira plugin, there are some tradeoffs. One of them is the processing time for automation rules is slower than post functions. For example, a simple assignment rule can take up to 3s to complete.

Audit logs show you the duration taken for each automation

We have encountered some rules that can take up over 10 seconds to be processed. So you should check the audit logs on the performance of the rules.

5) Service Limits

Not a lot of users are aware of the Service Limits which can affect the execution of the automation rules. Some of the common service limits are listed in the table below:

There are service limits imposed to ensure the performance of the Jira

When any of the limits is breached, the rules will be throttled until the limits are not exceeded. This could result in some unexpected behaviours as the issues are not processed during this period.

When service limits are exceeded, throttling will happen

The likelihood of throttling is increased when a huge number of issues are created via REST API or Test Automation plugins.

6) Housekeeping

The app maintains an audit log of the rule executions. Over time, the audit logs can build up which impacts your Jira database performance and clogging up your disk space. 

You can set audit log expiry to improve the performance of your Jira system

We have encountered some sites which the retention period is set to the default value of forever.

It will be good to revise the retention period and set the schedule expiry during off-peak periods. For more info, check out this KB article.

7) Integration with other apps

Not a lot of people are aware that there are other apps which are compatible with Automation for Jira app. If you have these apps, you can use them with automation rules too.

Best Practices

  1. Try to scope the rules within the project if possible. Use global rules only when necessary.
  2. Make sure your Jira project administrators know what they are doing. You can consider restricting the rights to trained project administrators (e.g. jira-power-admins group)
  3. Read up on Knowledge base and blog posts
  4. Conduct periodic audits. You can view performance Insights to see if there is any issues
Performance insight gives you visibility on how the automation rules are running

Conclusion

Automation for Jira is a very useful feature. However, there is a likelihood to see everything as a nail when you have a hammer in your hand. This can result in performance issues in time to come.

We will need to understand what is the requirements and the underlying approach used by various apps. For certain scenarios, we feel it is better to use post functions with apps like

Hopefully, with these knowledge, Jira admins can apply Automation for Jira effectively.