The Logical validator of JWT DC is not yet available in JWT Cloud but can be implemented easily using a Jira expression validator.

Since JWT DC field codes are not available in conditions or validators in JWT Cloud, they have to be replaced by their Jira expression equivalent.

Migration steps

Build a matching Jira expression depending on the individual configuration. Since the basic concept of JWT parser expressions is strictly different from Jira expressions, it is not possible to migrate them directly.

The following list provides the necessary basics.

Migration details

Fields

Jira expression Field codes differ from the JWT ones, a list of corresponding field codes can be found in Field codes. They are offered in the field code injector of the parser expression editor of the Jira expression validator. For further details of Jira expression field codes please refer to Atlassian's documentation.

Operators

JWT DC

Jira expressionNotes
===
!=!=
<<
<=<=
>>
>=>=
~.includes()

Example:

issue.summary.includes("issue")
!~!...includes()

Example:

issue.summary.includes("issue")
IN

.every....includes()

Example:

issue?.subtasks?.every(s=>issue?.links?.map(link => link.linkedIssue.key).includes(s.key))
NOT IN ! every....includes()

Example:

!issue?.subtasks?.every(s=>issue?.links?.map(link => link.linkedIssue.key).includes(s.key))
ANY IN.some()....includes()

Example:

issue?.subtasks?.some(s=>issue?.links?.map(link => link.linkedIssue.key).includes(s.key))
NONE IN!....some()....includes()

Example:

!issue?.subtasks?.some(s=>issue?.links?.map(link => link.linkedIssue.key).includes(s.key))

Functions

Jira expression functions are based on the respective data type and are related to JavaScript notion. Details of the available functions can be found in Atlassian's documentation.

Due to the different architecture, it may happen that the condition gets too complex. This is the case when many fields are checked. The condition cannot be saved, and a corresponding error message will be displayed. If that's the case, the condition has to be split up into two or more. 

Validation options

This parameter is not available in JWT Cloud. 

Error message

In JWT Cloud, only a fixed text without field codes or translations is supported.

Examples

JWT DC use case

JWT DC parser expression

Jira expression
Make "Time spent" field required
{issue.timeSpent} > 0
issue?.timeSpent > 0
Block an Epic's transition until all the issues under that Epic are resolved
%{issue.issueType} = "Epic" IMPLIES count(filterByResolution(issuesUnderEpic(), "")) = 0
issue?.issueType?.name == "Epic" ? issue?.stories?.every(s=>s.resolution != null) : true
issue?.isEpic ? issue?.stories?.every(s=>s.resolution!= null) : true
Block a transition until all sub-tasks have certain fields populated
count(filterByPredicate(subtasks(), {function.issue.dueDate} != null)) = count(subtasks())
issue?.subtasks?.every(i=>i.dueDate != null)

If you still have questions, feel free to refer to our support team.