filterByPredicate()

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.


Bash
filterByPredicate(numberList, logicalExpression) #Output: Number list


Examples

Parser expression

Description

Bash
filterByPredicate([1, 2, 3, 4], ^% > 2)

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

[3, 4]

Bash
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

Parameter

Input (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 ^%.


Bash
filterByPredicate(textList, logicalExpression) #Output: Text list


Examples

Parser expression

Description

Bash
filterByPredicate(["book", "rose", "sword"], length(^%) > 4)

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

["sword"]

Bash
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

Parameter

Input (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.


Bash
filterByPredicate(issueList, logicalExpression) #Output: Issue list


Examples

Parser expression

Description

Bash
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.

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

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

Bash
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

Parameter

Input (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:


📚 Use cases and examples