Advanced Search Integration

Overview

The Jira Query Language (JQL) provides advanced queries to search for issues in a structured way. The result of an advanced query is displayed as a list of issues in the issue navigator. Advanced queries can be used in many ways, including in Jira dashboard gadgets and for filtering Coverage views. Advanced queries can be saved for private use or shared with other users.

R4J extends JQL with so-called “issue properties” that take advantage of its distinctive data structures, including the Project Tree. (A property functions like a field name in JQL. Just think of an issue property as an additional field you can use to search for issues.) Whenever you are composing an advanced query in Jira, you can add these issue properties to the query, in the same way that you use Jira’s own advanced query constructions. The properties are stored with your Jira issues as long they are used in R4J.

Path Names

The name of a path in the project tree is formed by concatenating the project key and issue keys, starting with the root folder (the project key) and using the character “/” to separate the issue keys. The name of the path can contain as many issue keys as necessary. Note that the issue keys can denote either standard issues (e.g. requirements) or folders. The resulting string is then enclosed in quotation marks. Examples:

  • F4Y” is the path of the root folder in the F4Y project.

  • “F4Y/F4Y-1” is the path of F4Y-1, which is a child of the root folder. F4Y-1 could be either a standard issue or a folder.

  • “F4Y/F4Y-1/F4Y-2” is the path of issue F4Y-2, which is a child of F4Y-1. F4Y-1 and FAY-2 could be either standard issues or folders.

Baseline Names

The full name of a baseline is formed by concatenating the project key and the baseline name, starting with the project key and using the character “/” to separate the baseline name. The resulting string is then enclosed in quotation marks. Example:

  • “PB/Baseline 2.6.0” is the full name of the baseline with the name “Baseline 2.6.0” in project PB.

Property Reference

r4jPath

Find issues that are directly or indirectly contained in a given path in the requirements tree of a project. Note that a recursive search is performed: all issues under the given path are returned, no matter how deep the hierarchy under the path is.

Syntax

r4jPath <operator> path

Supported fields

Issue

Supported operators

IN , NOT IN, EQUALS (=), NOT EQUALS (!=), IS EMPTY, IS NOT EMPTY

Examples

Find issues contained in a given project path, recursively searching through the child folders and issues:

r4jPath IN ("F4Y/F4Y-50", "NP/NP-1")

r4jPath = "F4Y/F4Y-20"

Find issues that are outside a given project path (but still in the project F4Y):

r4jPath != "F4Y/F4Y-20" AND project = F4Y

If the condition “project = F4Y” is not included in this query, the result contains issues (probably lots of issues) in other projects and is likely not what is intended.

r4jParent

Find issues that are directly contained in a given path in the requirements tree of a project. Note that the search is not recursive: only issues whose direct parent is the given path are returned.

Syntax

r4jParent <operator> path

Supported fields

Issue

Supported operators

IN, NOT IN, EQUALS (=), NOT EQUALS (!=), IS EMPTY, IS NOT EMPTY

Examples

Find issues contained in a given project path, without recursively searching through the child folders and issues:

r4jParent IN ("F4Y/F4Y-50", "NP/NP-1")

r4jParent = "F4Y/F4Y-20"

r4jBaseline

Find issues that are part of a certain R4J Baseline. Note that a recursive search is performed: all issues under the given baseline are returned, no matter how deep the hierarchy under the baseline path is.

Syntax

r4jBaseline <operator> baseline path

Supported fields

Issue

Supported operators

IN, NOT IN, EQUALS (=), NOT EQUALS (!=), IS EMPTY, IS NOT EMPTY

Examples

Find issues that are part of a certain R4J Baseline.

r4jBaseline IN ("F4Y/Baseline 2.6.0", "NP/Baseline 3.0.0")

r4jBaseline = "F4Y/Baseline 2.6.0"