Search syntax

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

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'

(@Category IS NULL) OR (@Prop = '')

All requirements where the property Category is null.

(@Category IS NOT NULL) AND (@Prop != '')

All requirements where the property Category is not null.

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 = ‘JIRA-01’

Requirements which are link to Jira issues with key = 'JIRA-01' and relationship = 'relation'. Please note that the relationship will need to be in lower case.

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

Keyword

Function

AND, OR, NOT

Boolean operators

= '...'

== '...'

Strict equality.

~ '...%...'

like '...%...'

Soft equality. Use % in the string as a wildcard.

!=

Is different / is not

@...

Reference to a property of the requirement (if you've defined requirements in columns).

IS NOT NULL

To check if a field is filled (works for all entities, besides inline properties, please check the examples above.)

relation->…
relation→…

Search based on linked requirements.

Fields

Field

Definition

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!

Calculations