Conditions in Approval Path
Overview
“Conditions” feature allows you the ability to establish criteria using https://developer.atlassian.com/cloud/jira/platform/jira-expressions/. The chosen expression is evaluated by the Jira REST API based on the selected condition evaluator. These conditions serve as qualifiers for either generating an approval or incorporating a step into it.
When the criteria are satisfied, approval is created or the assigned step seamlessly integrates into the approval process. Conversely, if the conditions aren't met or an error arises during assessment, approval creation fails or the step is omitted from the flow.
Use Cases
Adding conditions to approval steps using Jira expressions offers a flexible way to manage your project workflows. Here are some interesting ideas for conditions you might consider:
Type |
Description |
---|---|
Issue Priority-Based Approval |
Triggers an approval step only if the issue's priority meets or exceeds a defined threshold (e.g., only issues marked as High or Critical require approval). |
Project Phase Dependency |
Initiates the approval process only during specific phases of the project (e.g., Development or Testing, but not Planning). |
Time-Based Conditions |
Requires approval if an issue remains unresolved or unattended for a specified period, signaling that it may need escalated attention. |
User Role or Group Check |
Activates approval steps based on the reporter's or assignee’s role or group membership, ensuring only relevant personnel trigger approvals. |
Issue Type Specific Conditions |
Differentiates approval logic based on issue type (e.g., Bug, Feature Request, Task), allowing unique workflows per type. |
Budget Constraints |
Requires approval when the estimated cost or budget impact of an issue exceeds a pre-defined threshold. |
Dependency on Other Issues |
Conditions approvals on the status of related issues (e.g., blocking issues must be resolved before approval can proceed). |
Customer Impact Analysis |
Triggers mandatory approval if the issue is marked as having high customer impact, ensuring adequate review before action. |
Change in Issue Severity |
Initiates approval if an issue's severity level increases, indicating potential escalation or risk. |
Compliance Check |
Makes approval conditional on whether the issue complies with internal or external standards, especially in regulated industries. |
Each of these conditions can be tailored and combined to fit the specific needs of your project, ensuring that the approval process is both efficient and effective.
How to Start
Global
Navigate to the "Apps" dropdown menu on the side panel in Jira and click Approval Path.

Project
Navigate to the desired project, then select Approval Path on the top panel within the project.

Creating a Condition Rule
Click on the "Add Condition" button

Name your Condition rule.
Add Jira Expression: Condition will be only be executed if the expression returns a logical value. Condition is met when expression results true, otherwise it will not be met.
Add Condition Evaluator: The chosen expression is evaluated by the Jira REST API based on the selected condition evaluator. Jira expression will be evaluated as:
Current User - User who starts approval path on issue/ using API Key/ using workflow condition
Selected User - User selected in condition
Issue field User - User from selected issue field (field value must be set)
Select a Project to limit condition to specific projects. (optional)
Message customization: Put message to show when condition evaluation fails.
Put Issue key for test.
Condition verification

You can specify the key of a specific issue to verify the condition expression for that particular issue.
Click the ‘Test’ button to check your expression. You'll find details below indicating whether the expression is met, not met, or if an error is encountered, returned result is not of type boolean.
Expression results

Condition expression met

Condition expression not met

Expression evaluation error

Returned result is not of type boolean

Returned result is not of type boolean
Example: How It Looks
This example explains how to configure a condition that restricts the approval process to specific issue types. Assume there is a project containing various types of Jira issues (e.g., Story, Task, Bug). The objective is to initiate the approval process only when the issue type is "Bug".

After entering the appropriate Jira expression and running a test, the following behavior can be observed:
When tested with an issue of type Bug, the condition is satisfied.
When tested with any other issue type, the condition is not satisfied.
Approval Path Condition

Approval Step Condition

Once chosen, the step will be included in the approval workflow only when the condition is met. Conversely, if the condition is not fulfilled or an error occurs during the evaluation of the condition, the step will be excluded from the approval process.
Managing Condition Rules
You can filter conditions by name, project, or status. This allows a comprehensive browsing of the conditions' versions and their usage across issues.

Viewing and Editing
All Condition rules are listed here, and you can click on any rule to view or edit its details.

Duplicating
Use duplicate option to create new condition based on existing one, saving time and ensuring consistency in configurations.
Archiving
If a condition is no longer needed, you can archive it for future reference. Archived conditions can only be viewed for history and usage with pre-archive configurations. Note that condition rules cannot be deleted, only archived.
Archived conditions are not applied to approval path
Filtering and Sorting
Use the filter option to refine your search by selecting projects or issues.
Viewing Active Conditions
On the Conditions tab in global or project settings, users can see a list view. They may opt to view only active condition which show records that are not archived.
Configuration and History
A comprehensive history of all condition actions is recorded under each condition expressions, which can be viewed for reference.