Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Section


Column
width30%600px


Panel
borderColor#333f48
bgColor#FFFFFF
titleColor#eeeeee
borderWidth1
titleBGColor#333f48
borderStylesolid
titleOn this page

Table of Contents
maxLevel1



Column




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'd 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 statuses "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, 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 statuses "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, transition will look like this:


Other examples of that function

Incoming Links
pageBoolean condition and validator with math, . date-time or text-string terms
labelsexample



Related Usage Examples

Content by Label
showSpacefalse
cqllabel = "example" and label in ("sub-task","transition")