Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


...


Additional and useful JQL functions to search issues using the power of regex expressions. 

...

Table of Contents

Regex expressions

A simple example of a regular expression is a (literal) string. For example, the "Hello World" regex matches the "Hello World" string.

"." (dot) is another example of a regular expression. A dot matches with any single character; it matches, for example, with "a" or "1". The following table lists several regular expressions and describes with which search query pattern they would match.

RegexMatches
this is textMatches exactly "this is text"
this\s+is\s+textMatches the word "this" followed by one or more whitespace characters followed by the word "is" followed by one or more whitespace characters followed by the word "text".
^\d+(.\d+)?

^ defines that the pattern of the search query must start with the beginning of a new line.

\d+ matches one or several digits.

The ? makes the statement in brackets optional.

. matches ".", brackets are used for grouping.

Matches for example with "5", "1.5" and "2.21".

For details please vistit https://regexone.com or https://www.regular-expressions.info/java.html

...

Search by text fields

FieldJQL
summary issue in powerIssue("summary", ".*")
descriptionissue in powerIssue("description", ".*")

Case example

Task JQL
Simple usage - find any issue with the word "amber" in the beginning of the Summary fieldissue in powerIssue("summary", "(amber).*")
Any issue from POWERJQL project, where summary or description contains "text1" or "text2" (case-insensitive)issue in powerIssue("project=POWERJQL", "summary, description", "(?i).*(text1 | text2).*")

Search by user fields

Field JQL
assigneeissue in powerIssue("assignee", "Jackson")
reporterissue in powerIssue("reporter", "Lucas")
creatorissue in powerIssue("creator", "Liam")

Case example

Task JQL
Any issue where assignee name contains "Michael" (case insensitive)issue in powerIssue("assignee", "(?i).*(Michael).*")

Search by date fields

To search by date field use pattern "yyyy/MM/dd HH:mm"

FieldJQL
createdissue in powerIssue("created", "2017.*")
updatedissue in powerIssue("updated", "2017/08/26.*")
due, duedateissue in powerIssue("due", "2017/08/26.*")
resolutiondateissue in powerIssue("resolutiondate", "2017/08.*")

Search by fixVersion, affectedVersion fields

FieldJQLNotes
fixVersionissue in powerIssue("fixVersion", ".(8\.5.).")to find all tickets with fix versions like 8.5.1, 8.5.2, 8.5.1.1 etc.
affectedVersionissue in powerIssue("affectedVersion", ".(1\.0.).")to find all tickets with affected versions like 1.0.1, 1.0.2, 1.0.1.1 etc.

Search by sprint

SprintJQL
Any issue where sprint name contains "sample" (case insensitive)issue in powerIssue("sprint", "(?i).*(sample).*")

Search by components field

...

As you know, the following English reserved words (also known as 'stop words') are ignored from the search index in Jira and hence, Jira's text search features:

"a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "no", "not", "of", "on", "or", "s", "such", "t", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"

But not in our app! You can use all or any combinations of this word for text search in "powerIssue" search function. 

"powerComponent" JQL function

powerComponent([JQL subquery, optional], "regex expression") Can be used with 1 or 2 arguments.

Expand
titleScreenshot

Image Removed

Case example

Any not resolved issues where any component contains words "mobile" or "dev" in any part of component name (case sensitive):

component in powerComponent("resolution=EMPTY", ".*(mobile | dev).*")

"powerAttachment" JQL function

powerAttachment([JQL subquery, optional], regex expression)

Expand
titleScreenshot

Image Removed

Case example

issue in powerAttachment(".*(?=android).*(?=pdf).*")

"powerProject" JQL function

powerProject(regex expression)

Expand
titleScreenshot

Image Removed

Case example

project in powerProject(".(Customer).")

"powerWorklog" JQL function

This function allows to filter tickets based on three keywords: comment, total, count. All these keywords filter from worklogs.

Below, there are examples for each one of them.

Search by comment

:

"a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "no", "not", "of", "on", "or", "s", "such", "t", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"

But not in our app! You can use all or any combinations of this word for text search in "powerIssue" search function. 

"powerComponent" JQL function

powerComponent([JQL subquery, optional], "regex expression") Can be used with 1 or 2 arguments.

Expand
titleScreenshot

Image Added

Case example

Any not resolved issues where any component contains words "mobile" or "dev" in any part of component name (case sensitive):

component in powerComponent("resolution=EMPTY", ".*(mobile | dev).*")

"powerAttachment" JQL function

powerAttachment([JQL subquery, optional], regex expression)

Expand
titleScreenshot

Image Added

Case example

issue in powerAttachment(".*(?=android).*(?=pdf).*")

"powerProject" JQL function

powerProject(regex expression)

Expand
titleScreenshot

Image Added

Case example

project in powerProject(".(Customer).")


"powerWorklog" JQL function

This function allows to filter tickets based on three keywords: comment, total, count. All these keywords filter from worklogs.

Below, there are examples for each one of them.

Search by comment

CaseJQL
1issue in powerWorklog("comment", ".*devops.*")
2issue in powerWorklog("project=SAMPLE", "comment", ".*devops.*")

Examples:

Expand
titleCase 1

Image Added


Expand
titleCase 2

Image Added


Search by total

This keyword, "total", allows filtering based on worked time. In order to get result(s), incorporate comparison signs( > , < , != , = ) and letters ( w=week , d=day , h=hour , m=minute).

It should be noted that one week is 40 hours and one day is 8 hours.

CaseJQL
1issue in powerWorklog("
comment
total", "
.*devops.*
<1w1d4h")
2issue in powerWorklog("project=SAMPLE", "
comment
total", "
.*devops.*
<1w1d4h")

Examples:


Expand
titleCase 1

Image RemovedImage Added


Expand
titleCase 2

Image RemovedImage Added


Search by

...

count

This keyword, "totalcount", allows filtering based on worked time. In number logged worklog. In order to get result(s), incorporate comparison signs( > , < , != , = ) and letters ( w=week , d=day , h= hour , m = minute ).

It should be noted that one week is 40 hours and one day is 8 hours.

CaseJQL
1issue in powerWorklog("totalcount", "<1w1d4h!=1")
2issue in powerWorklog("project=SAMPLE", "totalcount", "!=2"<1w1d4h")

Examples:

Expand
titleCase 1

Image RemovedImage Added


Expand
titleCase 2

Image Removed

Search by count

This keyword, "count", allows filtering based on number logged worklog. In order to get result(s), incorporate comparison signs( > , < , != , = ).

...

Examples:

Expand
titleCase 1

Image Removed

Expand
titleCase 2

Image Removed

...

Image Added

"powerHistory" JQL function

issue in powerHistory("some JQL", "fieldname", "regex expression")
issue in powerHistory("fieldname", "regex expression")
Expand
titleScreenshot
Image Added

Case example:

issue in powerHistory("
some
project = 
JQL
TD", "
fieldname
description", "
regex expression")
.*demo space.*")


"mentionedWithoutResponse" JQL function

CaseJQLNotes
1
issue in 

...

mentionedWithoutResponse("

...

JQL subquery"

...

)
Expand
titleScreenshot
Image Removed

...

to get all tickets where the current user has been mentioned but without response

2
issue in 

...

mentionedWithoutResponse("

...

JQL 

...

subquery", "

...

userName"

...

)
to get all tickets where "userName" has been mentioned but without response:

Commonly Used Regex

Emails

Code Block
titleRegex
.*([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}).*

...