JQL Syntax
This documentation page about JQL Syntax only concerns Requirement Yogi for Jira users. Read the documentation to learn all about it.
Requirement Yogi for Jira only (Data Center)
This page relates to Jira only. The Jira module is free, Data Center-supported, and its installation is described in Requirement Yogi for Jira configuration.
In version 2.5 and above
In 2.5, we've introduced the ability to search on the custom field directly:
You need Jira 8.0+,
Create a custom field for requirements, in our example we will name the custom field: "RYLinks”
When you create the custom field, select the field type “RY Requirement Yogi links”, and that you have configured the relationship.
Edit the custom field and enable the "search template" on this field, named "Searcher for RY Links",
When you edit the search template, you will need to perform a re-index action so the search syntax can work properly. A popup will usually appear but you can go into System Administration → Advanced → Index, and make sure to tick “Full re-index"
You can now use the search syntax below.
Example | Intent |
---|---|
RYLinks in requirementYogiKeys('REQ-001') | All custom fields which contain the requirement REQ-001. |
RYLinks in requirementYogiKeys('REQ-%') | All custom fields which contain one of the REQ-... requirements. |
RYLinks in requirementYogiKeys('REQ-001', 3) | Requirement REQ-001, in baseline 3 |
RYLinks in requirementYogiKeys('REQ-001', "CURRENT") | Requirement REQ-001, in current version. |
RYLinks in ('REQ-001', 'REQ-002') | A list of requirements (no baseline possible) |
Limitations
It is not possible to specify the space key or the Confluence instance,
It doesn't work for Jira 7.13.
In 2.2 to 2.5 (deprecated)
In 2.2.5, we've introduced a JQL Function named requirementYogiLinks to search for issues that are linked to RY requirements.
Usage: issue in requirementYogiLinks('applink_id', 'relationship', 'space_key', 'key#baseline_number')
Examples :
Example | Intent |
---|---|
issue in requirementYogiLinks('REQ-001') | Issues linked to requirement REQ-001 |
issue in requirementYogiLinks('REQ-001#3') | Issues linked to requirement REQ-001 in baseline 3 |
issue in requirementYogiLinks('PROD', 'REQ-001') | Issues linked to requirement REQ-001 and spaceKey PROD |
issue in requirementYogiLinks('abcd-fff1-acef-4343', 'resolves', '*', '*') | Issues linked to requirements from applink 'abcd-...' with relationship "resolves" |
issue in requirementYogiLinks('abcd-fff1-acef-4343', '*', '*', '*') | Issues linked to requirements from applink 'abcd-...' |
issue in requirementYogiLinks('resolves', '*', 'REQ-001#1') | Issues linked to requirement REQ-001 and baseline 1 with the relationship resolves |
Any argument can be replaced with '*' if it's not relevant.
The NOT keyword
The NOT keyword doesn't work well yet.
When deploying to customers, we've noticed many of them use JQL to detect issues which don't have requirements yet. This is not a use case we've thought of, and it may perform badly. Watch RY-488: "NOT" in JQL - Warn when using the function wronglyClosed to keep updated.