Clear Transitions for Jira

Block a workflow transition until clear conditions are met, and tell people why. Rules are made in a builder inside the Jira workflow editor, tested on real work items before they are saved, and shown to users as a plain message.


Before you uninstall

Remove Clear Transitions rules from your workflows before uninstalling. Otherwise Jira blocks those transitions.

The rules live in your Jira workflows, not in the app. You remove them in the Jira workflow editor. If the app is uninstalled while a rule is still on a transition, Jira blocks that transition. The admin page has a tab called Before you uninstall that lists every transition that uses a rule. Usage is recorded when a rule is saved or opened in the workflow editor, so the list may miss rules added before this version and may include rules whose workflow change was discarded.

After a reinstall. Rules already on transitions keep working in Jira. To restore them to the rule library and the usage list, open each rule once in the workflow editor.

Get started

  1. Install the app from the Atlassian Marketplace.
  2. Open the Clear Transitions admin page (Jira administrators only) under Jira admin settings > Marketplace apps > Clear Transitions to see the rule library and a short checklist.
  3. Open the Jira workflow editor, select a transition and add a rule from the app. Pick the right entry:
    • Clear Transitions rule under Validators: blocks the transition and shows the message. This is the one I recommend, because users see why.
    • Clear Transitions rule (logged) under Validators: the same, plus the anonymous block log (see "Block log").
    • Clear Transitions condition (hides transition) under Conditions: hides the transition until the checks pass, with no message. Its description says "Hides the transition until the configured checks pass. Nobody sees a message."
    The rule builder opens for each.
  4. Pick a template, or describe the rule in plain words and select Draft with AI.
  5. Test the rule on real work items, then select Add or Update in the editor.
  6. Select Update workflow at the top right of the workflow editor. The rule does nothing until the workflow is updated.

I can't add rules to your workflows for you. Adding a rule to a transition needs a Jira administration permission that the app doesn't ask for (the app has no admin scopes). A Jira administrator adds the rule in the workflow editor.

Rule types

RuleWhat it checksDefault message
Child work items doneAll child work items (sub-tasks, or the work items below an epic) are done. You can limit it to some work typesCan't move to {status}: {n} child work items are still open ({keys}).
Linked work items doneWork items linked with the chosen link type and direction are done. You pick the link type and the direction (for example the link type "Blocks" with direction inward is "is blocked by")Can't move to {status}: blocked by {keys}.
Field required whenIf a condition on one or more fields is met (all or any of them), other fields must be filled in{field} is required when {condition}.
Description sectionsThe description has content, and optionally content under named headingsThe description needs content under: {sections}.
Field checkA field is not empty, matches a pattern, has a length, is within a number range, or is before or after a date(your message, in the builder)
Comment requiredA comment is typed on the transition screen, or the person moving the work item wrote a comment in the last 10 minutes. Works on transitions with and without a screen(your message, in the builder)
Custom expressionA Jira expression you write yourself (advanced). The builder has no separate message field for this type. If your expression returns false, the transition is blocked and Jira shows its own generic text; if it returns text, that text is the message. Return true to let the transition pass(written in your expression)

You can edit the message of every rule type except Custom expression. You can use these placeholders: {keys}, {status}, {n}, {field}, {sections}, {condition}. Other text in braces is not allowed.

Try each rule type

Each example uses a transition into Done. Add the rule with Clear Transitions rule, test it, select Add or Update, and then Update workflow at the top right (without it the rule is not active). Then move a real work item.

Child work items done

  1. Pick an epic or a work item with sub-tasks, and leave at least one child not done.
  2. Select the template. Leave "Child work item types" empty to check all children.
  3. Test with the key of that work item. You see Blocked - Can't move to Done: 1 child work items are still open (ABC-2). and Child work items: ABC-2 (In Progress).
  4. Save, then move the work item to Done: Jira shows the message. Finish the child, and the move works.

Linked work items done

  1. Open a work item and look at Linked work items. Note the words above the link, for example "is blocked by", and check that the linked work item is not done.
  2. In the builder, pick the link type first. Then pick the direction with the same words: This work item "is blocked by" the linked work item.
  3. Test with the key. You see Links: is blocked by ABC-7 (In Progress) and Blocked - Can't move to Done: blocked by ABC-7. If the test passes, compare the words in the Links line with the direction you picked.
  4. Save, then move the work item: blocked. Finish ABC-7, and the move works.

Field required when

  1. Example: when Priority equals High, Due datemust be filled in. Fields of type person or date offer only "is empty" and "is not empty".
  2. Test with a high-priority work item that has no due date: Due date is required when Priority is High.
  3. Save, move it: blocked. Set a due date, and the move works.

Description sections

  1. Type one heading per line, for example Acceptance criteria, and a minimum number of characters.
  2. In the work item description, the heading must be on its own line with the text below it.
  3. Test with a work item without that heading: The description needs content under: Acceptance criteria. Add the heading and text, and it passes.

Field check

  1. Example: Field Assignee, check is not empty.
  2. Test with an unassigned work item: Assignee does not pass the check.
  3. Save, move it: blocked. Assign it, and the move works.

Comment required

  1. Works on transitions with and without a screen.
  2. Without a screen: add a comment to the work item, then move it within 10 minutes. With a screen: type the comment on the screen.
  3. In the test you count as the person moving the work item. Without a recent comment of yours it is blocked; the line Your comments in the last 10 minutes: 0 shows why.

Custom expression

  1. Example: issue.labels.includes('approved') ? true : 'Add the label approved first.'
  2. Test with a work item without the label: Add the label approved first.
  3. Add the label, and it passes.

Draft with AI

Write what you want in plain words (up to 500 characters), for example "Story needs acceptance criteria in the description before review". The AI picks a rule type and fills in the form. It does not write the Jira expression: a fixed builder does that from the form. You see the rule as a form and as one plain sentence, and you must test it before you save.

The AI is Atlassian's built-in Forge LLMs service and runs inside Atlassian. It sees only your text and the names of fields, work types and link types. It never sees work item content. If the AI can't turn your text into a rule, pick a template instead. A draft that uses a custom expression is marked for extra review.

Test before you save

Type work item keys, or a search query (the first 50 work items are used). The Target status field is filled in from the transition; change it only if needed. Then select Test. You see which work items would be blocked and the message each would get: {n} of {total} work items would be blocked.

Under each result the test shows what the rule looked at: the child work items, every link in the words Jira shows on the work item (for example "is blocked by ABC-7 (In Progress)"), or how many comments you wrote in the last 10 minutes. You can also type keys in the search box.

A rule can't be saved until the test passes. If you change the rule or the status, test again. The app also runs the test again on the server when you save.

Limits of the test:

  • The test checks work items as they are now. It can't simulate edits that users make on the transition screen.
  • Comment required: in the test you count as the person moving the work item, so a comment you wrote in the last 10 minutes makes it pass.
  • The test uses the status name you typed.

Rules in the workflow editor

  • After you save, the editor shows the rule as one sentence, for example "Blocks the transition until all child work items are done."
  • The rule library (admin page) holds the main copy of each rule. The workflow holds a snapshot. If you change a rule in the library, the transitions that use the old version are shown as Outdatedon the admin page. The app can't update the workflow itself, so open each transition, edit the rule and save it again.
  • Jira checks the rules each time a work item is moved through the transition.
  • After an app update, rules already on transitions keep the checks they were saved with. Open each rule in the workflow editor, select Update, then Update workflow, to use the newest version.
  • Each rule has a cost limit in Jira. The builder blocks rules that are too expensive to save.

Things to know

  1. Rules keep running without a subscription. The rules in your workflows are evaluated by Jira. They keep working if the subscription ends or the app is uninstalled. The builder and the admin page need an active subscription: Clear Transitions for Jira needs an active subscription. Ask your Jira administrator to check it under Apps > Manage apps.The "logged" rule type passes when the subscription is inactive.
  2. A rule on a deleted field keeps blocking.Jira can't tell a deleted field from an empty one. The rule keeps blocking, with the message built from the field name saved in the rule, until an administrator edits or removes the rule. The builder and the admin page warn you: "Missing field".
  3. Test mode can't simulate edits on the transition screen. (See above.)
  4. Only some rules can be logged, see below.
  5. I can't attach rules to workflows for you. An administrator does it in the workflow editor.
  6. Team-managed and company-managed projects both work.I haven't tested portal transitions in service projects, so I don't promise them.

Block log

Turn on Log blocks (anonymous) in the builder for a rule, and add the rule type Clear Transitions rule (logged)in the workflow editor. A normal rule is evaluated by Jira alone, so the app can't know when it blocks. The logged type lets the app see the block. It runs the rule as the app, inside Atlassian, and still stores no person.

  • Only for child work item rules and linked work item rules.The builder enforces this on the logged type. Other rule types can't be logged, because the logged type checks the saved work item and can't see edits on the transition screen.
  • The log keeps the work item key, the rule, the transition and the time. It never keeps an account ID or a name.
  • It is kept for 90 days by default. On the admin page you can set 30 to 365 days. A daily job deletes older entries.
  • The admin page shows blocks per rule (last 7 and 30 days), the latest 50 blocks, and the log as CSV text that you select and copy. The CSV has at most the newest 1000 blocks per rule.
  • When you add the logged type in the workflow editor, the builder offers only the two loggable rule types and always logs them. It does not let you save another rule type on the logged type, because that rule would never block. Use the normal rule type for those.
  • If the logged rule fails for any reason, the transition is allowed instead of blocked, so an error in the app never stops your team.

Switching a rule between the normal and the logged type means replacing the rule in the workflow editor.

Admin page

  • Rules:every rule with a plain sentence, version, where it is used, "Outdated" and "Missing field" warnings, and delete (a rule that is still used in a workflow can't be deleted).
  • Block log: counts and the latest blocks, with CSV.
  • Import / export:export the library as JSON and import it on another site. Rules in the JSON are checked, and invalid ones are skipped. Exported rules don't move into workflows by themselves.
  • Settings: how long the block log is kept.
  • Before you uninstall: the transitions that use a rule.

Rovo agent

The Rovo agent appears after the app is installed. If it was added by an update to an existing installation, a Jira administrator may need to reinstall the app for it to show up.

The Clear Transitionsagent answers "Why can't PROJ-123 move forward?" It checks the work item against the rules in use, as you, and explains which rule blocks it and what the message says. It checks moving forward in general, not one named status. If some rules can't be checked, it says so. It can list the rules. It can't change rules or move work items.

Privacy and security

  • Runs on Atlassian. No data leaves Atlassian.
  • Three scopes: read work items, read user access (needed for the rule test), and app storage. No admin scopes.
  • The app stores no account IDs. See the privacy policy at https://www.helkrypt.no/privacy/apps.

Support

FAQ

What happens if I uninstall the app?

Remove Clear Transitions rules from your workflows before uninstalling. Otherwise Jira blocks those transitions.

Do the rules stop working if my subscription ends?

No. The rules live in your Jira workflows and Jira keeps running them after the subscription ends. You remove them in the Jira workflow editor. While the app is uninstalled, Jira blocks the transitions that still have a rule. The builder and the admin page need an active subscription.

Can the app add the rule to my workflow for me?

No. A Jira administrator adds "Clear Transitions rule" to a transition in the workflow editor. The app can't change workflows because that would need an administrator permission I chose not to ask for.

Where does the AI run, and is my data sent to another company?

The AI is Atlassian's built-in Forge LLMs service and runs inside Atlassian. When you choose "Draft with AI", the app sends your text (at most 500 characters) and the names of fields, work types and link types. It sends no work item content and no names of people. Nothing leaves Atlassian.

Can the AI break my workflow?

The AI only fills in a form. A fixed builder creates the Jira expression, you see the rule in plain words, and the rule can't be saved until it passes a test on real work items.

Does the block log store who was stopped?

No. It stores the work item key, the rule, the transition and the time. It never stores an account ID or a name. It is kept for 90 days by default, and an administrator can choose between 30 and 365 days.

What if a field used by a rule is deleted?

Jira can't tell a deleted field from an empty one, so the rule keeps blocking until an administrator edits or removes it. The builder and the admin page warn you.

Does "comment required" work on every transition?

Yes. On a transition with a screen, type the comment on the screen. On a transition without a screen, the person moving the work item adds a comment first and then moves it within 10 minutes.

Does it work in company-managed and team-managed projects?

Yes.

Who can create rules?

Only Jira administrators.