Automation basics
Understand the general concepts and best practices of automation in Atlassian cloud products.
You can specify conditions that must be met for your rule to continue running. For example, your rule will only escalate an issue if it is high priority.
Conditions can be placed anywhere in the rule chain. If a condition fails, no actions following it will be performed. The exception is with the If/else block condition. Not all rules need to have conditions.
Use smart values here: No
Checks whether an issue field meets a certain criteria.
This condition doesn’t require you to write smart values or JQL, and supports most common Jira fields. Use this condition ahead of the JQL and Advanced compare conditions, where possible.
There are multiple ways to use this condition:
Compare a field with another value
Compare a field with another field
Use smart values here: No
Checks whether an alert’s field meets a certain criteria. For example, you can use this condition to execute the action only if a new alert’s description includes the keywords you specify.
You can group multiple conditions using Any/All option in If/else block. This condition can be used only with alert triggers because an alert is required for this condition to work.
Use smart values here: Yes
Compares two values, using smart values and regular expressions.
While the Issue fields condition will meet most needs, this condition provides extra options, such as the use of regular expressions and functions.
For example, if you wanted to re-open an issue when a customer comments, you would start with the Issue commented trigger. You could then add this condition to compare the comment’s author with the issue reporter, and add another condition to check if the issue status is Done. Once these conditions are satisfied, the issue will transition to In progress.
The comparison methods available are:
Equals (e.g. the assignee equals John)
Does not equal (e.g. the assignee does not equal John)
Greater than (e.g. the number of watchers is greater than 5)
Less than (e.g. the number of comments is less than 1)
Starts with (e.g. the reporter's name starts with J)
Contains (e.g. the summary contains December)
Does not contain (e.g. the summary does not contain December).
Contains regular expression
Exactly matches regular expression
Does not match regular expression
Checks if an issue’s affected services field matches the set criteria.
You can configure this condition to check against the service tier, services name or dependent services of the affected services.
This condition is only available on IT Service Management projects, for issues types that contain an affected services field type.
Note that Form-related components are project-specific, so they can’t be configured in Global automation. Form components are only available in project automation.
Checks if an issue has forms attached. You can check for multiple forms, and specify the status of the forms.
Performs alternate actions based on whether certain conditions match or don’t match.
This powerful condition allows you to add as many if/else conditions as you want. The if block executes the specified actions within that block when all the set conditions are met. If the conditions are not met, the else blocks will be evaluated. We support two levels of nesting with the if/else block.
Use smart values here: No
Checks if the comment or description fields of an issue contains attachments.
For example, you may want to check whether a customer has included a screenshot, or if a vendor has included an invoice – if there are no attachments, you could leave an automated comment requesting more information.
You can combine this condition with the JQL condition to check if the filename of a specified format. You can also include a conditional compare on some properties of your attachments, including:
filename {{attachment.filename}}: the filename of the attachment
mimeType {{attachment.mimeType}}: the file format of the attachment
author {{attachment.author}}: the user who added the attachment
accountId {{attachment.author.accountId}}: the ID associated with the user name
emailAddress {{attachment.author.emailAddress}}: the email address associated with the user name
displayName {{attachment.author.displayName}}: the name displayed in your Jira instance
active {{attachment.author.active}}: Is the user an active user or has their account been deactivated
timeZone {{attachment.author.timeZone}}: what timezone the user is registered being in (this does not change dynamically based upon where the user logs in from, it is the timeZone registered in their user account)
created {{attachment.created}}: the date and time the attachment was added to the issue
size {{attachment.size}}: the attachment file size in bytes
Learn more about attachment smart values.
Checks if a Figma design is linked to an issue. The rule under the condition will only run if a design is linked. If there's no design linked to the issue, the rule (or branch of the rule) will not run.
Learn how to integrate Figma with Jira
For Jira Service Management only. Learn more about Assets in Jira Service Management. This condition checks if an Assets object or an issue's Assets field matches the AQL query.
You can either search based on objects, or Assets fields on an issue. To select the Object tab, your rule must have the Object trigger. If the rule is triggered by an issue, the Issue field tab will be pre-selected and if the rule is triggered by an object, then the Object tab will be pre-selected.
After entering an AQL query, you can select Validate syntax to check if the syntax of your query is valid. However, this doesn't check if the query will return results.
You can also include object smart values, i.e. {{object name.attribute name}} in your query. Learn more about smart values for Assets in Jira Service Management
Use smart values here: Yes
Before getting started with a JQL condition, check if you can use the Issue fields condition for your rule instead. It is easier and quicker to set up.
Checks to see if an issue matches a specified JQL query.
For example, checking that the status category of a status for a given issue is Done.
1
statusCategory = Done
Click Validate query on this condition to check that your JQL query is working correctly. Note that:
The issues found here may not be the same as the issues found when the rule runs. This is because the issues found when you select Validate query will be based on your permissions, but when the rule runs, it will use the rule actor’s permissions instead.
If you’re using smart values, you won’t be able to check if your JQL is valid using Validate query.
Use smart values here: No
Checks if related issues exist on the trigger issue (e.g. parent, sub-tasks, epics, stories, etc.) or matches a specified JQL query.
Use smart values here: Yes (Criteria)
Checks whether a user exists or is in a specified group.
You can add additional criteria to this condition, and select the logic of whether all or any of the criteria must be matched.
For example, before reopening an issue, you could check if the user who added a comment to the issue is the reporter of the issue OR is a member of the participants custom field.
Was this helpful?