/
Matrix Requirements Query Language
Matrix Requirements Query Language
You can now make advanced searches for items in Matrix Requirements. You just prefix your search with "mrql:" and you do ... miracles (MRQL) searches.
Matrix Requirements Query Language (MRQL aka Miracle) syntax
The general form looks like a Boolean expression with the classical AND, OR, NOT, parenthesis.
Each term is in the form variable operator value.
The operators can be:
- = for equal (case sensitive)
- != for not equal (case sensitive)
- ~ for "include" (case insensitive)
- !~ for "doesn't include" (case insensitive)
- < or > for smaller than or bigger than (only for updated age)
The particular meanings of some variables are:
- category operator "value" : checks the the category of the item (REQ, SPEC, ...)
- title operator "value" : checks the the title of the item
- outdated = 0|1 : checks that the item is outdated (it's parent has been modified after)
- updated < | > Nx : checks that the last modification date of an item is lower or higher than a duration. Duration is expressed as integer followed by a letter:
- y for year
- m for month
- w for week
- d for day
- H for hour
- M for minute
- uplink | downlink operator category : checks that the item has at least one uplink (or downlink) to category. Also != , ~ and !~
- label = "value": selects items that have (or don't have if != is used) this label. The label part must be the internal one as defined in the admin console.
- all other variables are matches for a field name. If the field name contains a space the variable must be double-quoted
Examples:
- mrql:domain ~ "xyz" and category = "TC"
- matches all item of the category "TC" who has a field "domain" which includes "xyz"
- mrql:outdated = 1 and category != "XTC"
- matches all outdated items which are not "XTC" items
- mrql:"test run result"="af|error|failed"
- matches all failed tests: Since this field "test run result" is a dropdown, the actual value of the field "af|error|failed" differs from the displayed text "automatic - was 'failed' when last saved".
- mrql:updated < 3H
- matches all items modified during the last 3 hours
- mrql:uplink ~ "REQ"
- matchs all items with an uplink in a category containing REQ (MREQ, FREQ, REQ, ...)
mrql:updated<1w and category="REQ"
requirements updated in last 7 days
Signatures NEW IN 1.11 :
- mrql:needSignature = joe
- Looks for all SIGN items where joe has not signed (joe is the login name)
- mrql:needSignature = any
- Looks for all SIGN items where someone still needs to sign
- mrql:needSignature != joe
- Looks for all SIGN items where joe has signed or was not supposed to sign
- mrql:needSignature != any
- Looks for all SIGN items where all users that were supposed to sign did sign
Searches expressions can be shared between team members, see Search Configuration.
, multiple selections available,