Excerpt | ||||
---|---|---|---|---|
| ||||
Here is the advanced search syntax to refine your search, which can be used all over requirement yogi’s tabs. |
This page describes the search syntax to find requirements in Confluence.
Requirement Yogi provides a search screen in every space.
Only active requirements of the current space are displayed.
Search by key
Search for all requirements whose key contains the input text. The search is case insensitive.
Search in text
The text you enter in the search bar will be compared with requirement keys and descriptions. The search is case insensitive.
Advanced search syntax
You can also use our search syntax to refine your search.
Examples
Search on... | Query | Result |
---|---|---|
Key | key = 'IG-1' | The requirement with the exact key. |
key ~ 'IG-%' | All requirements starting with 'IG-'. | |
Contents | text ~ '% something' | All requirements whose text ends with 'something'. |
Pages | page = 467382 | All requirements defined on the page with ID 467382 (Does not include dependencies) |
page ~ 467382 | All requirements that are on the page with ID 467382 (Includes dependencies) | |
page = 'a title' | All requirements on the page with title matching 'a title'. You can use the characters '?' for a single character wildcard and * for a multiple character wildcard. (Does not include dependencies). The title search is based on CQL and is not exact. Meaning that we will return all pages that contain ‘a title’ in their page name, or something similar. | |
page ~ 'Partial title*' | All requirements on the page with title starting with 'Partial title' (Includes dependencies) | |
Properties | @Category = 'Functional' @Category\ With\ Space = 'Functional' | All requirements where the property 'Category' = 'Functional'. (Use \ if the property contains a space (here the property is 'Category With Space' |
Properties from the Linear Documents | @Level = ‘First’ | This will display all the first level titles requirements from a linear documents. The same thing works for ‘Last’, ‘Intermediate’, and ‘First and Last’. |
@Section = ‘Parent requirement title’ | The Section property will display children requirements of this title. | |
External properties | ext@Category = 'Functional' | All requirements where the external property 'Category' = 'Functional'. |
ext@Category is not null | All requirements where the external property 'Category' is defined. | |
ext@Estimate > 10 | All requirements where the external property 'Estimate' is greater than 10. | |
Dependencies | TO = 'REQ-001' | Requirements which reference REQ-001. |
FROM = 'REQ-001' | Requirements which are referenced by REQ-001. | |
FROM ~ 'REQ-%' | Requirements which are referenced by any requirement starting with "REQ-". | |
FROM@refines = 'REQ-001' | Requirements which are "refined" by REQ-001. | |
from@Section = ‘REQ-001’ | The Linear Documents use only have one relationship name: Section. You can use them the same way as the other dependencies syntax. | |
to@Section ~ 'REQ-%' | ||
from@Section IS NULL | ||
Variants | variant = 1 | All requirements with the variant id 1 |
variant = 'Current' | All requirements with the variant name Current. Note: all spaces have a default variant called Current | |
variant = ('Current' in space 'ANOTHER') | All requirements with the variant name Current in the space ANOTHER | |
Space | space = 'HOME' | All requirements in the space HOME. Note: cross space search is not yet available |
Validation | rulestatus = true | Requirements which respect all the rules. |
rulestatus = 'warning' | Requirements with a warning. | |
rulestatus = false | Requirements in error. | |
rulestatus@my\ rule = false | Requirements which don't suit the rule. You have to put the exact name/label of the rule. | |
rulestatus@my\ rule IS NOT NULL | Requirements which are submitted to "my rule". | |
Jira | jira = 'key-1' | Requirements which are linked to Jira issue with key = 'key-1' |
jira IS NOT NULL | Requirements which are linked to a Jira issue. | |
jira@relation = 'key1 | Requirements which are link to Jiira issue with key = 'key-1' and relationship = 'relation' | |
Linked requirements | from->ext@Cost > 1000 from→ext@Cost > 1000 | Requirements that have at least one child requirement through any relationship where the external property 'Cost' is greater than 1000. |
to@relation1->ext@Man\ days > 20 | Requirements that have at least one parent requirement through the relationship 'relation1' where the external property 'Man days' is greater than 20. | |
to@relation1->from@relation2->@Author = 'John' | Requirements that have at least one parent requirement through the relationship 'relation1', which itself has at least one child requirement through the relationship 'relation2' where the property 'Author' is equal to 'John'. | |
from@relation1->key ~ ‘BR-%’ AND from@relation2->@Assignee = ‘Jane’ | Requirements that have at least one child requirement through the relationship ‘relation1' where the key matches ‘BR-%’ and that have at least one child requirement through the relationship ‘relation2' where the property ‘Assignee’ is equal to ‘Jane’. | |
from@relation1->(text ~ ‘% something’ AND from@relation2->@Delivered = ‘true’) | Requirements that have at least one child requirement through the relationship ‘relation1' where (the description matches ‘% something’ and which itself has at least one child requirement trough the relationship ‘relation2’ where the property @Delivered is equal to ‘true’). |
Keywords
Keyword | Function |
---|---|
AND, OR, NOT | Boolean operators |
= '...' == '...' | Strict equality. |
~ '...%...' like '...%...' | Soft equality. Use % in the string as a wildcard. |
@... | Reference to a property of the requirement (if you've defined requirements in columns). |
IS NOT NULL | To check if a field is filled |
relation->… | Search based on linked requirements. |
Fields
Field | Definition |
---|---|
key = ... | The key of the requirement. Keys are unique per space. |
spaceKey = ... | The space key of the requirement (case sensitive). |
status = ... | The status of the requirement (ACTIVE, DELETED, MOVED). Default: ACTIVE. There is generally no reason to use it, since those statuses are internal details about requirements. You would rather define your own property named "Status", and search them using @status = 'Approved' for example. Do not confuse "status" (our internal implementation detail) and "@status" (any user-defined property). |
text = ... | The contents of the requirement (Does not include the properties). |
page = ... | The ID of a page or a version where a requirement is defined. |
link is not null / link is null | The requirements having links or not |
jira = ... | A JIRA issue linked to the requirement. |
jira@relationship = ... | A JIRA issue linked with a specific relationship. |
@aproperty = ... | A property with name "aproperty". |
ext@aproperty = ... | An external property with name "aproperty". Note: external properties are typed (string, float, integer, boolean...) |
to@arelationship = ... from@arelationship = ... | A dependency with the relationship "arelationship". |
variant = ... | A variant for a requirement |
Calculations
Are you ready to go one step further? You can leverage this search syntax to build calculations!