Page History
Table of Contents | ||
---|---|---|
|
Features used to implement the examples
Example 1: Block "Start Progress" transition if the issue "is blocked by" an issue in status other "Resolved", "Closed" or "Done"
Validation on linked issues checks up both, previously created issue links, and new issue links created in transition screen. When we want to check issue links created exclusively in transition screen, we should use Boolean validator with math, date-time or text-string terms with a boolean expression with function transitionLinkedIssues()
. Example: Validate only issue links created in transition screen
We are going to use Validation on linked issues to block "Start Progress" transition whenever current issue has an "is blocked by" issue link with an issue in a status different from "Resolved", "Closed" or "Done":
Once configured, "Start Progress" transition looks like this:
Alternative expression
The Boolean validator with math, date-time or text-string terms equivalent to this validation is:
count(filterByPredicate(linkedIssues("is blocked by"), ^%{00016} not in ["Resolved", "Closed", "Done"])) = 0
Note that:
- %{00016} is the field code for Issue status.
Example 2: Make sure an issue can only be closed if all duplicates with certain field values have been already closed
We want to guarantee that all duplicate issues have been closed before the original issue can be closed. At the same time we want guarantee that, for consistency, all duplicates have the same value in fields "Components", "Affected versions" and "Fixed versions", and that they belong to the same project as main issue:
The boolean expression used for filtering field values is:
^%{00094} = %{00094} AND ^%{00074} = %{00074} AND ^%{00077} = %{00077}
Note that:
- %{00094} is field code for Components
- %{00074} is field code for Affected versions
- %{00077} is field code for Fixed versions
Once configured, "Close Issue" transition looks like this:
Alternative expression
The Boolean validator with math, date-time or text-string terms equivalent to this validation is:
count(filterByPredicate(linkedIssues("is duplicated by"), ^%{00016} != "Closed" OR ^%{00018} != %{00018} OR ^%{00094} != %{00094} OR ^%{00074} != %{00074} AND ^%{00077} != %{00077})) = 0
Note that:
- %{00016} is field code for Issue status
- %{00018} is field code for Project key
Example 3: Make sure no issue type "Bug" is "blocked" or "cloned" by the transitioning issue
We want to use Validation on linked issues to forbid the existence of "blocks" and "clones" issue links to "Bug" issue types:
Once configured, the transition looks like this:
Alternative expression
The Boolean validator with math, date-time or text-string terms equivalent to this validation is:
count(filterByIssueType(linkedIssues("blocks, clones"), "Bug")) = 0
or count(filterByPredicate(linkedIssues("blocks, clones"), %{00014} = "Bug")) = 0
Note that:
- %{00014} is field code for Issue type
Other examples of that functions
Incoming Links | ||||
---|---|---|---|---|
| ||||
Boolean validator with math, date-time or text-string terms
Incoming Links | ||||
---|---|---|---|---|
| ||||
Related Usage Examples
Content by Label | ||||
---|---|---|---|---|
|
Table of Contents | ||
---|---|---|
|
Features used to implement the examples
Example 1: Block "Start Progress" transition if the issue "is blocked by" an issue in status other "Resolved", "Closed" or "Done"
Validation on linked issues checks up both, previously created issue links, and new issue links created in transition screen. When we want to check issue links created exclusively in transition screen, we should use Boolean validator with math, date-time or text-string terms with a boolean expression with function transitionLinkedIssues()
. Example: Validate only issue links created in transition screen
We are going to use Validation on linked issues to block "Start Progress" transition whenever current issue has an "is blocked by" issue link with an issue in a status different from "Resolved", "Closed" or "Done":
Once configured, "Start Progress" transition looks like this:
Alternative expression
The Boolean validator with math, date-time or text-string terms equivalent to this validation is:
count(filterByPredicate(linkedIssues("is blocked by"), ^%{00016} not in ["Resolved", "Closed", "Done"])) = 0
Note that:
- %{00016} is the field code for Issue status.
Example 2: Make sure an issue can only be closed if all duplicates with certain field values have been already closed
We want to guarantee that all duplicate issues have been closed before the original issue can be closed. At the same time we want guarantee that, for consistency, all duplicates have the same value in fields "Components", "Affected versions" and "Fixed versions", and that they belong to the same project as main issue:
The boolean expression used for filtering field values is:
^%{00094} = %{00094} AND ^%{00074} = %{00074} AND ^%{00077} = %{00077}
Note that:
- %{00094} is field code for Components
- %{00074} is field code for Affected versions
- %{00077} is field code for Fixed versions
Once configured, "Close Issue" transition looks like this:
Alternative expression
The Boolean validator with math, date-time or text-string terms equivalent to this validation is:
count(filterByPredicate(linkedIssues("is duplicated by"), ^%{00016} != "Closed" OR ^%{00018} != %{00018} OR ^%{00094} != %{00094} OR ^%{00074} != %{00074} AND ^%{00077} != %{00077})) = 0
Note that:
- %{00016} is field code for Issue status
- %{00018} is field code for Project key
Example 3: Make sure no issue type "Bug" is "blocked" or "cloned" by the transitioning issue
We want to use Validation on linked issues to forbid the existence of "blocks" and "clones" issue links to "Bug" issue types:
Once configured, the transition looks like this:
Alternative expression
The Boolean validator with math, date-time or text-string terms equivalent to this validation is:
count(filterByIssueType(linkedIssues("blocks, clones"), "Bug")) = 0
or
count(filterByPredicate(linkedIssues("blocks, clones"), %{00014} = "Bug")) = 0
Note that:
- %{00014} is field code for Issue type
Other examples of that functions
page | Condition and validation on linked issues |
---|---|
labels | example |
Boolean validator with math, date-time or text-string terms
page | Boolean condition and validator with math, date-time or text-string terms |
---|---|
labels | example |
Related Usage Examples
Content by Label | ||||
---|---|---|---|---|
|