6.2 Transition Rules: Conditions vs. Validators
Key Takeaways
- Conditions are evaluated before a transition is rendered, completely hiding the transition button from users who do not meet the criteria.
- Validators are evaluated after a user clicks the transition button and submits the transition screen, aborting the transition with an actionable error message if criteria fail.
- The core UX design principle is 'Hide for Authority, Guide for Compliance'—use conditions for role and permission gating, and validators for data collection and validation.
- A critical configuration pitfall is enforcing a Field Required Validator for a field that is absent from the transition screen, causing an inescapable transition lockout.
- In the current workflow editor, conditions appear as Restrict transition rules, transition screens as Request input, validators as Validate details, and post functions as Perform actions.
6.2 Transition Rules: Conditions vs. Validators
Quick Summary: Workflow transition rules govern how and when issues progress through a lifecycle. In Jira Cloud, Conditions and Validators serve fundamentally different architectural and user experience purposes. Conditions act as pre-render gatekeepers: they evaluate server-side before the user interface renders, completely hiding the transition button if criteria are unmet. Validators act as post-submission inspectors: they execute after the user clicks the transition button and submits the transition screen, validating user inputs and aborting with helpful error messages if criteria fail. Understanding the operational distinction between "hiding for authority" versus "guiding for compliance" is vital for passing the ACP-120 exam.
Conditions: Pre-Render Gatekeepers
A Condition evaluates an environmental or issue-level prerequisite before Jira renders the issue view, mobile screen, or agile board transition menu. If any mandatory condition fails, Jira suppresses the transition button entirely. The user does not see the transition option, cannot click it, and receives no indication that the transition exists.
[User Views Issue]
|
v
[Evaluate Conditions Server-Side]
|
+----+----+
| |
[Met?] [Unmet]
| |
v v
Render HIDE Transition Button Completely
Button (User has no visibility or access)
Where Rules Live in the Current Workflow Editor
The Jira Cloud workflow editor groups everything a transition can do under Rules. The blueprint and older documentation still use the classic names, so learn both:
| Classic Name (Blueprint) | Rule Group in the Current Editor | Example Rules |
|---|---|---|
| Conditions | Restrict transition | Restrict who can move a work item (role, group, assignee, reporter, permission, user field); restrict to when a field is a specific value; restrict to when the issue has been through a status; restrict based on the status of sub-tasks; restrict from all users |
| Transition screen | Request input | Show a screen |
| Validators | Validate details | Validate a field (required, changed, single value, dates, regular expression); validate that people have a specific permission; validate that the parent is in a specific status; validate that the issue has been through a status |
| Post functions | Perform actions | Update a work item's field (including clearing it); assign a work item; copy a field's value; set a security level; trigger a webhook |
Classic Conditions You Should Recognize
The classic conditions below map to the Restrict transition rules:
| Condition Type | Operational Mechanism | Common Practical Use Case |
|---|---|---|
| User In Project Role | Checks if the current user is assigned to a specific Project Role (e.g., Quality Assurance, Release Managers). | Restricting approval transitions (such as Pass QA or Approve Deployment) strictly to authorized personnel. |
| User In Group | Checks if the current user is a member of a global Jira user group. | Reserving emergency overrides (such as Force Close) to jira-administrators. |
| Only Assignee Condition | Checks if the user attempting the transition is the currently assigned user on the issue. | Ensuring that only the developer currently working on an issue can move it to Ready for Review. |
| Sub-task Blocking Condition | Prevents the parent issue from transitioning unless all child sub-tasks occupy specific statuses or categories. | Blocking a parent User Story from transitioning to Done until 100% of its child sub-tasks are in Closed or the Done category. |
| Permission Condition | Verifies that the user holds a specific project permission (e.g., Resolve Issues, Close Issues, Schedule Issues). | Aligning transition availability with standard project permission schemes. |
| Value Field / Compare Number Custom Field (now "Restrict to when a field is a specific value") | Compares a field's value against a fixed value. | Restricting Approve Budget transitions to issues where Estimated Cost <= 5000. |
Grouping and Boolean Logic in Conditions
The legacy workflow editor lets you group conditions with boolean operators (the current editor combines multiple restrict rules on the transition):
- ALL of the following conditions must be met (AND): Every child condition in the group must evaluate to true.
- ANY of the following conditions must be met (OR): At least one child condition in the container must evaluate to true.
Administrators can nest condition groups inside other condition groups to create complex access rules:
ALL of the following conditions must be met (AND):
├── Sub-task Blocking Condition (All sub-tasks must be Done)
└── ANY of the following conditions must be met (OR):
├── User In Project Role: Quality Assurance
└── User In Group: site-administrators
Validators: Post-Submission Inspectors
A Validator evaluates criteria after the user clicks an active transition button and submits any associated Transition Screen. If the validation criteria evaluate to false, Jira aborts the transition, rolls back all pending changes, keeps the issue in its current status, and presents an informative error message directly to the user.
[User Clicks Transition Button]
|
v
[Display Transition Screen (User inputs data)]
|
v
[User Clicks 'Submit']
|
v
[Evaluate Validators Server-Side]
|
+----+----+
| |
[Valid] [Invalid]
| |
v v
Commit ABORT Transition & Rollback Changes
Changes Display Actionable Error Message on Screen
Built-in Native Validators in Jira Cloud
Classic validators, now found in the Validate details rule group, include:
| Validator Type | Operational Mechanism | Practical Administrative Scenario |
|---|---|---|
| Field Required Validator | Checks that one or more specified fields contain a non-null value before the transition commits. | Requiring Fix Version/s, Resolution, or a custom Root Cause field when closing a bug. |
| Permission Validator | Verifies that the user possesses a designated project permission at the exact moment of execution. | Enforcing Close Issues permission validation during transition execution. |
| Previous Status Validator | Asserts that the issue occupied a specific previous status immediately prior to the current status. | Preventing an issue from being moved to Resolved unless its preceding status was Under QA. |
| Regular Expression / Pattern | Evaluates a text or custom field value against a regex pattern. | Validating that a Change Request ID field matches the strict syntax CR-[0-9]{5}. |
UX Architecture: When to Hide vs. When to Guide
A fundamental skill tested on the ACP-120 exam is determining whether a business requirement calls for a Condition or a Validator. The architectural rule of thumb is:
"Hide for Authority, Guide for Compliance."
+-------------------------------------------------------------------------+
| DECISION MATRIX: CONDITION VS. VALIDATOR |
+-------------------------------------------------------------------------+
| Criterion | Use a CONDITION | Use a VALIDATOR |
+---------------------------------+-----------------------+-----------------------+
| Role / Authority Gating | YES (Hide button) | NO |
| Missing Data Collection | NO (Causes deadlock!) | YES (Guide with error)|
| User Experience Feedback | Silent suppression | Explicit error message|
| Evaluation Point | Pre-render | Post-screen submit |
| Prevents Screen Popups | Yes (Button hidden) | No (Screen opens) |
+-------------------------------------------------------------------------+
Scenario 1: The Authority Gate (Use a Condition)
- Requirement: "Only designated QA team members should transition stories to 'Ready for Deployment'. Developers should not be allowed to perform this action."
- Solution: Apply a User In Project Role Condition (
Role: QA). - Rationale: Showing developers a button that immediately rejects their action with an error message generates UI clutter and frustration. Hiding the button keeps the interface clean and context-appropriate.
Scenario 2: The Compliance Gate (Use a Validator)
- Requirement: "When closing an issue, team members must select a 'Resolution' and input a 'Root Cause'. If omitted, the action must be rejected with instructions."
- Solution: Apply a Field Required Validator (
Fields: Resolution, Root Cause) mapped to a Transition Screen. - Rationale: If an administrator incorrectly configured a Condition checking that
Root Cause is not empty, the user would see the transition button disappear entirely whenever Root Cause was empty! Because the field is empty prior to the transition, the user would never be able to make the button appear. A Validator keeps the button visible, opens the transition screen for input, and enforces data entry.
Critical Configuration Pitfalls & Deadlocks
Pitfall 1: The Missing Field Lockout (The Infinite Rejection Trap)
This is one of the most common and damaging mistakes in Jira administration:
- An administrator adds a Field Required Validator to a transition (e.g., requiring the custom field
Deployment Environmenton theDeploytransition). - However, the administrator fails to add
Deployment Environmentto the Transition Screen associated with that transition, or fails to associate a transition screen altogether. - The User Experience: The developer clicks
Deploy. The transition dialog appears (or attempts an immediate transition). The developer clicksSubmit. - The Failure: Jira evaluates the validator and aborts with the error: "Field 'Deployment Environment' is required." However, because the field does not exist on the transition screen, the developer has no way to input the value!
- The Trap: The issue is completely deadlocked. The developer cannot transition the issue forward, cannot satisfy the validator, and must contact the Jira administrator to fix the screen.
[Developer clicks 'Resolve']
│
▼
[Transition Screen Opens] ───► Screen has: 'Comment', 'Assignee'
│ (MISSING: 'Root Cause' custom field!)
▼
[Developer clicks 'Submit']
│
▼
[Validator Evaluates]: Is 'Root Cause' populated?
│
└──► [FAIL]: 'Root Cause is required!'
Developer cannot satisfy validator! Issue is LOCKED!
[!CAUTION] Whenever you add a Field Required Validator to a workflow transition, you must verify that the required field is present on the Transition Screen mapped to that transition, AND that the field is not marked as "Hidden" in the project's Field Configuration.
Pitfall 2: Hidden Fields in Field Configurations
Even if a custom field is placed onto a Transition Screen, Jira will refuse to render it if that field is marked as Hidden in the active Field Configuration Scheme for that project and issue type. A Field Required Validator placed on that hidden field will continuously fail, producing an identical lockout to Pitfall 1.
Pitfall 3: Sub-task Blocking Circular Deadlocks
An administrator configures a Sub-task Blocking Condition on a parent issue requiring all sub-tasks to be in Closed before the parent can move to Closed. Concurrently, the administrator configures a condition or validator on the sub-task workflow requiring the parent issue to be Closed before any sub-task can close. Neither the parent nor the children can ever be completed.
The Director of Information Security mandates that only members of the 'Security Officers' project role be permitted to execute the 'Authorize Exception' transition on vulnerability tickets. Personnel who are not Security Officers must not see the transition button anywhere in the issue view or board dropdown menus, preventing unauthorized attempts and reducing UI clutter. Which transition configuration should the Jira Administrator implement?
Developers report that whenever they click 'Ready for Staging' on an issue, an error dialog immediately halts the action with the message: 'Field Target Cluster is required'. However, the transition screen that pops up only contains the 'Assignee' and 'Comment' fields, making it impossible for developers to provide a target cluster. How should the Jira Administrator resolve this issue?
A team lead wants team members to specify a 'Post-Mortem URL' and a 'Root Cause Category' whenever transitioning an incident from 'Investigating' to 'Resolved'. If an engineer leaves either field blank, the transition should be prevented, and an informative message should instruct them to fill out the missing fields. Why is a Validator paired with a Transition Screen the correct architectural choice rather than a Condition?