Best practices for optimizing automation rules

The following best practice guidelines will allow you to optimize your Jira automation rules, so that they run more smoothly and are easier to manage.


Plan your rules before creating them

Planning your automation rules ahead of time will help you work out the rules that you must have, and where you can instead combine rules by using conditions.

Start with your workflows and the actions you want to occur, then work backwards to what events you want to trigger those actions. Do you want to send out emails on every customer feedback comment on an issue, or just on issues of high priority?

Align your automation strategy with your business and operational processes

Automation rules are designed to help your business and operational process work more efficiently – they should align. A review of your automation rules should occur alongside reviews of your business and operational processes.


Restrict your rules to specific projects only

Convert as many of your rules from Global to Project as possible. Consider whether rules apply to a single project, or if you want to run them across multiple projects. This change improves the efficiency of your rules as any events from projects with no matching rule are filtered out. As a result, there are less rules that need to be queued for execution.

Combine Rules

Each rule may function perfectly well alone, but rules can often work better together. Are you able to use the same rule for multiple current rules? For example, you might have a rule that branches on the current rule and then runs conditions and actions underneath.

Select an appropriate trigger

For example, Field Value Changed is far more economical than Issue Updated, and even better when you limit it to certain actions. If you only want the action to run on issue creation, make sure to select that option on the trigger.

Use Compare conditions as early as possible in the rule chain

Use the Issue fields condition (or if you need something more powerful, the Advanced compare condition) as early as possible in your rule. Ideally, you should be chaining these conditions at the start of your rule to exclude all the issues you don’t want to operate on as early as possible. 

Move checks that require more processing further down the rule chain

The Issue fields condition is the simplest to run, followed by the Advanced compare and JQL conditions . For example, checking if status = Done (a JQL condition) requires more processing than comparing {{}} equals Done (an Advanced compare condition).

Try to avoid Advanced compare and JQL conditions if possible, or push them to the back of the chain.

Learn more about conditions

Use branches sparingly

Only use branch rules where you absolutely must. For example, the For current issue branch rule will spawn a new process. This is a good option if you are combining rules, but if it doesn’t serve a purpose then it can have negative effects on performance.

Additional Help