The logical condition is one of the most powerful and versatile conditions that can be used in JWT since it uses the full potential of the JWT expression parser functions.

This condition evaluates a logical expression that returns true or false. The transition will only be available, if the result is true.

Configuration

Since you only have a single parameter, an expression, you need to familiarize yourself with the Logical mode, which explains how to write logical expressions.

Parser expressionDescription
false
Simply returns false. You can use this expression for "switching off" a specific post function.
{parent.votes} > 5

A numerical comparison which returns true if the parent issue has more than 5 votes.

%{issue.assignee} = %{issue.project.lead} and %{issue.issueType} = "Bug"
(%{issue.assignee} = %{issue.project.lead}) and (%{issue.issueType} = "Bug")

A logical conjunction which takes two comparisons as operands.

It returns true when the assignee of the issue is the project lead and if it's a Bug.

The second expression has the same meaning but due to use of brackets may be more readable.

%{issue.assignee} = null

Returns true if the issue does not have an assignee. This expression uses the null value as an operator.

%{issue.priority} IN ["Blocker", "Critical"]

%{issue.priority} = "Blocker" OR %{issue.priority} = "Critical"

Returns true if the Priority has the value "Blocker" or "Critical". The first expressions uses a list whereas the second one uses single comparisons connected via the logical operator OR.

%{issue.issueType} = "Bug" IMPLIES %{issue.versions} != null

Returns true if Affects version/s is set whenever the issue type equals "Bug".

%{issue.priority} IN ["Blocker", "Critical", "Major"] IMPLIES (%{issue.assignee} != null AND %{issue.duedate} != null)

Returns true if Priority is "Blocker", "Critical" or "Major", the issue is assigned and Due date is set.

%{issue.labels} ~ ["Blocker", "Critical", "Major"]

Returns true if Labels (which is a field holding a TEXT LIST) contains "Blocker", "Critical" or "Major".

If you want to use this functionality in a validator instead, have a look at the Logical validator.


Use cases and examples


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