This very powerful JQL function combines the power of classic JQL and JWT, by letting you refine your JQL subquery using a JWT logical expression.
The function works in the following way:
- The JQL subquery will be evaluated first and return a number of issues
- These issues will then be run against a logical expression
- Issues where the expression returns TRUE will be returned by the overall JQL query
Example
issue in issueSelection('project = DESK', '%{issue.subtasks.count} >= 1')
- The JQL subquery will return all issues from the DESK project
- The logical expression will check whether these issues have at least one sub-task, or not.
- The JQL function will only return the issues with sub-tasks.
issueSelection(subquery, logicalExpression) #Output: Issue list
The subquery must not be empty to avoid negative performance impacts. Always try to keep the number issues returned by the subquery as minimal as possible.
However, if you want run the your JWT expression against many or even all issues you could use one the examples below:
issue in issueSelection('project is not EMPTY', 'your JWT logical expression') //every issue is part of a project issue in issueSelection('type in standardIssueTypes()', 'your JWT logical expression') //this will return all standard issue types (not sub-tasks)
The result is not what you expected? The number of returned issues feels too low?
By default, the maximum number of issues that will be returned by the JQL subquery, and thus can be processed by the logical expression is 1000.
To ensure the performance of your entire Jira instance, we limit the execution of the JQL function in terms of issue count and execution time. Please refer to your admin if you need to change the configuration.