Example: FROM @project.name = 'gpig' and @tracker.name = 'sla' WHERE @status = OPEN() will return all open artifacts of SLA tracker of gpig project.
@project.name = 'gpig' and @tracker.name = 'sla': one tracker in one project
@project.name = 'gpig': all trackers of one project
@project.name IN ('gpig', 'red', 'foo') and @tracker.name = 'sla': sla tracker of several projects.
@project.name = 'gpig' and @tracker.name IN ('sla', 'request'): sla or request tracker in gpig project
@project.name IN ('gpig', 'red', 'foo') and @tracker.name IN ('sla', 'request'): sla and request tracker in gpig, red and foo projects
@project.category = 'helpdesk': all trackers of all projects withhelpdesk category
@project.category = 'topic::power' : all trackers of all projects withtopic -> power category (topic is parent of power)
@project = 'self'
Rules:
- Supported selector:
@project.name = 'string' : select one project based on it's short name. It's an exact match.
@project.name IN (string, ...): select projects based on their short name. It's an exact match.
@project.category = 'string': select projects that match given project category. It's an exact match.
@project.category IN (string, ...): select projects based on their project categories. It's an exact match.
@project = 'self': select current project. Works only in the context of a project dashboard. In the context of personal dashboard, this leads to an error.
@project = 'aggregated': select all aggregated projects (program management)
- works only in the context of a project dashboard of a project that uses Program Management,
- on the context of a project dashboard of a project that doesn't use Program Management, this leads to an error,
- in the context of personal dashboard, this leads to an error.
@tracker.name = 'string': select one tracker inside selection of projects (implies @project = 'self').
@tracker.name IN (string, ...): select all trackers based on their short name inside selection of projects (implies @project = 'self').
- It's possible to have zero or one
@project rule per FROM:
- OK:
@project.name = 'gpig'
- OK:
@project.category = 'topic::power'
- NOK:
@project.category = 'helpdesk' AND @project.name = 'foo'
- It's possible to have zero or one
tracker rule per FROM:
- OK:
@tracker.name = 'sla'
- NOK:
@tracker.name = 'sla' AND @tracker.name = 'request'
- It's possible to use either
@tracker AND @project as well as @project AND @tracker with the same result
OR is not supported
By default there is no limit in the number of trackers involved in a given query, however, there is a kill-switch config-key that allows to define a maximum number of trackers in case of emergency.
When some projects or trackers cannot be accessed due to permissions, they are silently ignored. If no trackers are readable due to permissions, the result is a "no artifact found".
When no project or tracker match the query (eg typo), the result is "no artifact found".