🚀 JWT 3.0 is out 🚀 

The app was completely overhauled, and so was the documentation: Jira Workflow Toolbox (Server/Data Center) Home

The page you are viewing is still valid for all app versions prior to 3.0.

On this page


Example: Validation on sibling sub-tasks depending on issue type and status

I have one Issue with two sub-tasks, say sub-task A (of issue type A) and sub-task B (of issue type B).

I would like to add a validation on a transition of sub-task A that allows that transition to be executed only if the the value of the Status Field of sub-task B  is for example "Open" OR "In Progress" OR "Reopened". For any other value of the sub-task B's Status Field, the transition of sub-task A will be forbidden.

That validation can be implemented with Jira Workflow Toolbox 2.1.20 or higher, using Boolean validator with math, date-time or text-string terms. I will show how to implement two variants of the validation. You can choose the one that better fits your use case:

I suppose that parent issue has at least one sub-task of type "issue type B", and we want to validate that at least one of them is in the status "Open", "In Progress" or "Reopened". To implement that validation we use the validator with the following configuration:



Boolean expression used is: count(filterByStatus(filterByIssueType(subtasks(%{00041}), "Issue Type B"), "Open, In Progress, Reopened")) > 0


Note that:

  • %{00041} is code for virtual field "Parent's issue key"
  • "Issue type B" is the name of a issue type


Once configured, the transition will look like this:


Other variation of the usage example

I suppose that parent issue may have or may not have sub-tasks of type "Issue type B". We want to validate that every sub-task of type "Issue type B" is in the status "Open", "In Progress" or "Reopened".

To implement that validation we use Boolean validator with math, date-time or text-string terms with the following configuration:


Boolean expression used is: count(filterByStatus(filterByIssueType(subtasks(%{00041}), "Issue Type B"), "Open, In Progress, Reopened")) = count(filterByIssueType(subtasks(%{00041}), "Issue Type B"))


Note that:

  • %{00041} is code for virtual field "Parent's issue key"
  • "Issue type B" is the name of a issue type


Once configured, the transition will look like this:


Other examples of that function

Related Usage Examples