Supported list types

Number list

This function filters a number list by a given logical expression where ^ is used for referencing the current list value.

It basically iterates over each list element, checks whether the logical expression returns true, and if it does, includes the element in the output.

Syntax
filterByPredicate(numberList, logicalExpression) #Output: Number list
Examples
Parser expressionDescription
filterByPredicate([1, 2, 3, 4], ^% > 2)

This example returns a number list with values greater than 2:

[3, 4]

filterByPredicate([1, 2, 3, 4], modulus(^%, 2) = 0) 

This example returns a number list with even values:

[2, 4]

To achieve this, the following functions are used:

For additional mathematical functions, see Numbers.

Additional information

Parameters used in this function

ParameterInput (data type)Description
numberList

NUMBER LIST

Any given number list.
logicalExpression

TEXT

A logical expression that returns true or false.

^ is used for referencing the field codes of the seed issue.

Output

This function returns a NUMBER LIST


Text list

Variant for text lists. The current list value is referenced by ^%.

Syntax
filterByPredicate(textList, logicalExpression) #Output: Text list
Examples
Parser expressionDescription
filterByPredicate(["book", "rose", "sword"], length(^%) > 4)

This example returns a text list with words that have more than 4 characters:

["sword"]

filterByPredicate(["book", "rose", "sword"], ^% in %{issue.summary} OR ^% in %{issue.description})

This example returns a text list with those words that also appear in the issue's summary or description.

Additional information

Parameters used in this function

ParameterInput (data type)Description
textList

TEXT LIST

Any given text list.
logicalExpression

TEXT

A logical expression that returns true or false.

^% is used for referencing the field codes of the seed issue.

Output

This function returns a TEXT LIST


Issue list

Variant for issue lists.

Syntax
filterByPredicate(issueList, logicalExpression) #Output: Issue list
Examples
Parser expressionDescription
filterByPredicate(linkedIssues(), ^%{issue.summary} ~ %{issue.summary}) 

This example returns an issue list with linked issues (see linkedIssues()) that have the same summary like the current issue.

filterByPredicate(issuesUnderEpic(), ^%{issue.assignee} = null) 

This example returns an issue list with all unassigned issues under the current epic (see issuesUnderEpic()).

filterByPredicate(linkedIssues("blocks"), ^%{issue.resolution} = null AND ^{issue.priority} < {issue.priority})

This example returns an issue list with unresolved blocked issues with a higher priority than the current issue.

Additional information

Parameters used in this function

ParameterInput (data type)Description
issueList

ISSUE LIST

Any given issue list. Usually this value is retrieved from a function (e.g. linkedIssues() or subtasks()).
blogicalExpression

TEXT

A logical expression that returns true or false.

^% is used for referencing the field codes of the seed issue.

Output

This function returns an ISSUE LIST

This is one of the most powerful functions in JWT since it combines filtering with boolean or logical expressions

To freshen up your knowledge or to get some inspiration head over to: