Performance guidelines for the Lookup issues action
The Lookup issues action allows you to create a custom JQL query with issues that you can further reuse in other automation actions. Learn more about the Lookup issues action
This can be a great boost to your team’s productivity. However, it might also affect your application performance if the constructed JQL query contains too many issues or if an automation rule includes specific triggers. To prevent this, we’ve prepared a list of best practices for using the Lookup issues action so you can configure rules without any performance regression.
Preparing the rule
While you can use the Lookup issues action with any trigger, some triggers aren’t recommended as they might be fired up too frequently. This will cause the rule to run too often and possibly get throttled.
Verify trigger
To ensure that your rule will be executed efficiently, it’s best to use the Scheduled trigger or other triggers that aren’t fired up frequently, like Sprint started.
Avoid using triggers like Issue created or Comment added (or any other frequently executed ones) as this might cause multiple lookup issues to run at the same time. Such rule executions might flood the queue. As it takes a long time to process them, these rules will quickly get throttled, reaching the automation service limit.
We strongly recommend testing every rule in a non-staging environment to prevent any issues in production.
Pick the proper execution time
If you’ve picked the Scheduled trigger, it’s best to execute rules during non-business hours to limit the potential impact on users and decrease the time for rule execution.
Provide best-fit JQL
The Lookup issues action returns a list of issues that can be modified, filtered, and aggregated. However, we suggest preparing a precise JQL. It’ll help you reduce the performance cost and the number of collected issues.
Setting the issue results limit
You can change the limit of issues returned by the JQL query in the Global configuration menu. Learn how to change the limit
We strongly recommend testing the limit change in a non-production environment to make sure that the rule execution doesn’t slow down your application performance.
Set the limit value
By default, the issue limit for the Lookup issues action is set to 100. This is the recommended value that ensures optimal performance.
Changing the limit to a higher value will extend the time for rule execution linearly — changing from 100 to 200 doubles the execution time. Thus, we don’t recommend increasing the limit above 250 as it might cause a significant load on the application, slowing down the instance and enabling the throttling.
If your application and Automation service limits can handle a higher amount of load, you can increase the limit above 250 at your own discretion.
Impact on Jira performance
How automation configuration affects rule execution time
If you often execute the same rule, it might enable throttling (mostly because of the rule execution time). We recommend checking the selected Lookup issues result limit and JQL used in the action to verify that everything works as expected.
If you have performance issues caused by the action, change the max.processing.time.per.day
value. It will allow for the execution of more rules or longer rules daily. Learn how to configure the Automation service limits
Consider that changing the limits affects all automation rules and delays throttling, which might cause some performance issues.
Lookup issues and Jira actions
Some Jira actions might take a bit more time during the execution of the Lookup issues action. Index-related operations like searching, editing, or adding comments can be slower than usual while the Lookup issues action is running.