Query language

If the basic filters don't give you enough options, use the query language to define a filter.

The query language allows you to:

Query format

To define a filter using the query language:

  1. On the upper panel in Tracker, choose Filters → + New filter .

  2. Click Query language in the upper-right corner.

  3. Enter a query and click Apply.

The basic format of the query is:

"parameter": "value"

To set the parameter, start typing its name and choose the appropriate one from the suggestions. For the full list of parameters, see the section Filter parameters.

Examples

Issues that are in the TEST queue:

  • "Queue": "TEST"
  • Issues that are assigned to Alice Little:

    "Assignee": "Alice Little"
  • Issues with the status Open or In progress.

    "Status": "Open", "In progress"
  • Issues created from January 1 to January 30, 2017:

    "Created": "2017-01-01".."2017-01-30"

Multiple parameter values

If you want to filter issues by multiple values for the same parameter, separate them with commas:
parameter: "value1", "value2", " value3"
Example
author: "vpupkin","iivanov"

This filter outputs all issues that were reported by vpupkin or iivanov.

Filters with multiple conditions

You can combine multiple conditions in a single filter using Boolean operators:

  • AND — The logical AND operator. Conditions combined with this operator must all be met at the same time.

    Example:
    parameter1: "value1" AND parameter2: "value2"

    This query outputs the issues that have parameter1 set to value1 and parameter2 set to value2.

    Note. Instead of using the AND operator, you can just list the fields separated by a space.
  • OR — The logical OR operator. At least one of the conditions combined with this operator must be met.

    Example:
    parameter1: "value1" OR parameter2: "value2"

    This query outputs the issues that meet at least one of these conditions: parameter1 is set to value1 or parameter2 is set to value2.

You can create complex filters by combining multiple operators in a single query:

parameter1: "value1" AND parameter2: "value2" OR parameter3: "value3"

When complex filters are processed, the AND operators are applied first. Use parentheses to change the order of actions:

parameter1: "value1" AND (parameter2: "value2" OR parameter3: "value3")

Text search

In addition to searching by parameters, you can also use the familiar text search. To do this, enter text in the Query field and click Apply.

The search is performed across all the text fields in the issue: name, description, and comments. To search in only one of the fields, use the parameter to specify it:

  • Summary — The issue name.

  • Description — The issue description.

  • Comment — Text in comments.

  • History — Text in the history of changes.

To find only issues with text that exactly matches the query text, use the # operator:
Summary: #"Lorem ipsum dolor sit amet"
Example
Description: "Off with her head"

This filter outputs all the issues that have a description containing the words and close forms of the words in the query.

Date and time parameters

Many issue parameters have date and time values. The query language supports several formats for these parameters:

Date
  • MM/DD/YYYY

    Example:

    04/30/2017
  • DD.MM.YYYY

    Example:

    30.04.2017
  • DD-MM-YYYY

    Example:

    30-04-2017
  • YYYY-MM-DD

    Example:

    2017-04-30
Time

You can set time intervals in weeks, days, hours, minutes and seconds in the format:

"XXw XXd XXh XXm XXs"

For example, a time interval of 3 days 5 hours and 32 minutes is written as:

"3d 5h 32m"

When searching fields that contain a date, you can use the addition and subtraction operations, time ranges, and functions.

Here is an example of a filter for issues created no earlier than eight days ago:

Created: > today() - "1w 1d"

A filter for issues that were created in a certain period of time:

Created: 01-01-2017 .. 02-03-2017

Comparison operations

In addition to looking for exact matches, the query language supports comparisons:

  • Not equal to

    parameter: !"value"
  • Greater than, Less than, Less than or equal to, Greater than or equal to

    These operations are only applied to numeric parameters and date and time parameters.

    parameter: >numberparameter: <numberparameter: > = numberparameter: <=number
  • In the range

    This operation is only applied to numeric parameters.

    parameter: number1 .. number2

Functions

In addition to explicit parameter values, you can use functions. A function is a variable with a value that is calculated when the request is executed. For example, the function today() takes the value of today's date. To show all issues created today, use the query:

Created: today()
Function Result Example
empty() 

Empty value (parameter omitted)

Find issues that don't have an assignee:

Assignee: empty()
notEmpty()

Any non-empty value (parameter set)

Find issues that have a deadline set:

Deadline: notEmpty()
me() 

Name of the user who made the request

Find issues that you created:

Author: me()
now()

Current time to the minute

Find issues created in the last 12 hours:

Created: >now()-12h
today()
Time interval corresponding to the current date

Find issues created today:

Created: today()
week()

Date range corresponding to the current week

Find issues created this week:

Created: week()
month() 

Date range corresponding to the current month

Find issues created in this month:

Created: month()
quarter() 

Date range corresponding to the current quarter

Find issues created in this quarter:

Created: quarter()
year()

Date range for the current year

Find issues created this year:

Created: year()
unresolved()

No resolution

Find all issues that do not have a resolution set:

Resolution: unresolved()
group()

List of department employees

Find issues that employees of the Sales department are working on:

Assignee: group(value: "Commercial Department") 

Search for parameter changes

If you know when and how a parameter was changed for an issue, you can create a filter for it:
"parameter": changed(from: "old value" to: "new value" by: "who changed" date: "when changed"

For example, to get a list of issues that user Alice Little switched to the status "In progress" in a certain time period, make the query:

Status: changed(to: "In progress" by: "Alice Little" date: 01.09.2017 .. 15.09.2017)

Sort results

You can sort the filter results by setting the "Sort By" parameter at the end of the query. For the value, specify the name of the field to sort by:
"Sort By": Created

If necessary, set the sort order to ascending (ASC) or descending (DESC):

"Sort By": Created ASC

To specify multiple fields to sort by, separate them with commas in order of priority:

"Sort By": Created ASC, Updated DESC

Useful queries

Try a few ready-made queries to learn how they work:

  • Active issues that you created:

    Author: me() Resolution: empty()
  • Active issues that you are assigned to:

    Assignee: me() Resolution: empty()
  • Active issues that you are following:

    Followers: me() Resolution: empty()
  • Issues that you are assigned to that have a deadline during the current week:

    Assignee: me() Deadline: week()
  • Issues with Critical or Blocker priority for which you are the reporter, assigned, or follower.

    (Followers: me() OR Assignee: me() OR Author: me()) AND Resolution: empty() AND Priority: Blocker, Critical

Filter parameters

Parameter Value Description
"Access"

Logins and usernames

Searching for issues that list specific users in the Access field. For example:

Access: "user3370", "Alice Little"
"Affected Version"

Version names

Searching for issues that list a specific value in the Affected version field. For example:

"Affected Version": "14.09.1978"
"Assignee"

Logins and usernames

Searching for issues that list specific users as the assignee. For example:

Assignee: "user3370", "Alice Little"
"Author"

Logins and usernames

Searching for issues that list specific users as the reporter. For example:

Author: "user3370", "Alice Little"
"Block Queue"
Queue names or keys

Searching for issues that have dependent (blocked) issues in the specified queues. For example:

"Block Queue": TEST
"Clone"
Issue keys

Searching for issues cloned from specific issues. For example:

Clone: "TASK-123", "TASK-321"
"Clones Of Queue"
Queue names or keys

Searching for issues cloned from issues in specific queues. For example:

"Clones Of Queue": TEST, DEVELOP
"Comment"

Text string

Searching for issues that include a comment with a specific text. For example:

  • Find issues with comments that contain the words and forms of words in a phrase:

    "Comment": "great job"
  • Find issues with comments that contain the exact phrase:

    "Comment": #"great job"
"Comment Author"

Logins and usernames

Searching for issues that include comments left by specific users. For example:

"Comment Author": "user3370", "Alice Little"
"Component Lead"

Logins and usernames

Searching for issues that include components managed by specific users. For example:

"Component Lead": "user3370", "Alice Little"
"Components"

Component names

Searching for issues that include specific components. For example:

Components: "backend", "frontend"
"Created"
Date or date range

Searching for issues created on a specific date or within a specific date range. For example:

Created: 2017-01-01..2017-01-30
"Deadline"

Date or date range

Searching for issues with a deadline set for a specific date or date range. For example:

Deadline: 2017-01-30
"Depend On Queue"
Queue names or keys

Searching for issues dependent on (blocked by) issues from specific queues. For example:

"Depend On Queue": Testing
"Depends On"
Issue keys

Searching for issues dependent on (blocked by) specific issues. For example:

"Depends On": "TASK-123", "TASK-321"
"Description"

Text string

Searching for issues with a specific text in the description. For example:

  • Find issues that have a description containing the words and and word forms in the phrase:

    "Description": "invent the wheel"
  • Find issues that contain the exact phrase in the description:

    "Description": #"invent the wheel"
"Duplicated In Queue"
Queue names or keys

Searching for issues that have duplicates in specific queues. For example:

"Duplicated In Queue": TEST
"Duplicates"

Issue keys

Searching for issues that are duplicates of specific issues. For example:

Duplicates: "TASK-123", "TASK-321"
"Duplicates In Queue"
Queue names or keys

Searching for issues that are duplicates of issues in the specified queues. For example:

"Duplicates In Queue": Testing
"End Date"

Date or date range

Searching for issues whose End date value matches a specific date or its date range. For example:

"End Date": 2017-01-30
"Epic"

Epic keys

Searching for issues from specific epics. For example:

Epic: "TASK-123", "TASK-321"
"Epics For Queue"
Queue names or keys

Searching for epics that include issues from specific queues. For example:

"Epics For Queue": TEST, DEVELOP
"Favorited by"

Only the me() function can be used as the parameter value.

Searching for your favorites. For example:

"Favorited by": me()
"Filter"

Filter names or IDs

Searching for issues that match the specified filters. For example:

Filter: "Issues in my department"
"Fix Version"

Version names

Searching for issues that list a specific value in the To fix in version field. For example:

"Fix Version": "12.11.1986"
"Followers"

Logins and usernames

Searching for issues that list specific users as followers. For example:

Followers: "user3370", "Alice Little"
"Has Epic"
Issue keys

Searching for issues from specific epics. For example:

"Has Epic": TASK-123
"Have Links To Queue"
Queue names or keys

Searching for issues that are somehow linked with issues from the specified queues (parent, related, duplicate, sub-issue, and so on). For example:

"Have Links To Queue": TEST
"History"

Text string

Searching for issues with a history that includes the words or forms of words from a specified phrase.

The search is only performed on values of Issue name and Issue description fields.

For example:

"History": "easy as pie"
"In Epics Of Queue"
Queue names or keys

Searching for issues related to epics from specific queues. For example:

"In Epics Of Queue": Testing
"Is Dependent By"
Issue keys

Searching for issues that block specific issues. For example:

"Is Dependent By": "TASK-123", "TASK-321"
"Is Duplicated By"
Issue keys

Searching for issues that are duplicated by specific issues. For example:

"Is Duplicated By": "TASK-123", "TASK-321"
"Is Epic Of"
Issue keys

Searching for epics that include specific issues. For example:

"Is Epic Of": "TASK-123", "TASK-321"
"Is Parent Task For"

Issue keys

Searching for parent issues for specified sub-issues. For example:

"Is Parent Task For": "TASK-123", "TASK-321"
"Is Subtask For"

Issue keys

Searching for sub-issues for specified parent issues. For example:

"Is Subtask For": "TASK-123", "TASK-321"
"Key"

Issue keys

Searching for issues with specific keys. For example:

KEY: "TASK-123", "TASK-321"
"Linked to"

Issue keys

Searching for issues that are linked with the specified issues (parent, related, duplicate, sub-issue, and so on). For example:

"Linked to": "TASK-123", "TASK-321"
"Maillists"

Names of departments or teams

Searching for issues that are followed by specific departments or teams. For example:

Maillists: "Helpdesk"
"Modifier"

Logins and usernames

Searching for issues recently updated by specific users. For example:

Modifier: "user3370", "Alice Little"
"Old Queue"

Queue names or keys

Searching for issues moved from the specified queues. For example:

"Old Queue": TEST
"Original"

Issue keys

Searching for clones of the specified issues. For example:

Original: "TASK-123", "TASK-321"
"Original Estimate"

Time range using the format "XXw XXd XXh XXm XXs"

Searching for issues with a specific initial score. For example:

"Original Estimate": "5d 2h 30m"
"Originals Of Queue"
Queue names or keys

Searching for issues that have clones in specific queues. For example:

"Originals Of Queue": Testing
"Parent Tasks For Queue"
Queue names or keys

Searching for issues that have sub-issues in the specified queues. For example:

"Parent Tasks For Queue": TEST, DEVELOP
"Priority"

Priority value

Search for issues that have the specified priority values. For example:

Priority: "Minor", "Normal"
"Project"

Project titles

Searching for issues from specific projects. For example:

Project: "Perpetuum mobile"
"Queue"

Queue names or keys

Searching for issues from specific queues. For example:

Queue: TEST
"Queue Lead"

Logins and usernames

Searching for issues that list specific users as queue owners. For example:

"Queue Lead": "user3370", "Alice Little"
"Related"

Logins and usernames

Searching for issues that list specific users as the assignees, reporters, or followers. For example:

Related: "user3370", "Alice Little"
"Related To Queue"
Queue names or keys

Searching for issues that are related to issues from specific queues (the “Related” type link). For example:

"Related To Queue": Testing
"Relates"

Issue keys

Searching for issues related to specific issues (the“Related” type link). For example:

Relates: "TASK-123", "TASK-321"
"Resolved"

Date or date range

Searching for issues that have been closed (resolved) on a specific date or during a specific date range. For example:

Resolved: 2017-01-01..2017-01-30
"Resolver"

Logins and usernames

Searching for issues that have been closed (resolved) by the specified users. For example:

Resolver: "user3370", "Alice Little"
"Sprint"

Sprint names or IDs

Searching for issues from specific sprints. For example:

Sprint: "TrackerSprint32"
"Sprints By Board"

Board ID

Searching for issues from specific boards. For example:

"Sprints By Board": 87
"Start Date"

Date or date range

Searching for issues whose Start date value matches a specific date or falls within a date range. For example:

"Start Date": <2017-01-30
"Status"

Status names

Searching for issues with specific status names. For example:

Status: Open, Resolved, Closed
"Story Points"

Story Points score

Searching for issues with a specific number of Story Points. For example:

"Story Points": >=5
"Subtasks For Queue"
Queue names or keys

Searching for issues that have parent issues in the specified queues. For example:

"Subtasks For Queue": TEST
"Summary"

Text string

Searching for issues with a specific title. For example:

  • Find issues that have a title containing the words and and word forms in the phrase:

    "Summary": "invent the wheel"
  • Find issues whose name completely matches the following phrase:

    "Summary": #"invent the wheel"
"Tags"

Issue tags

Searching for issues with the specified tags. For example:
Tags: "Support", "wiki"
"Time Spent"

Time range using the format "XXw XXd XXh XXm XXs"

Searching for issues that took the specified amount of time to complete. For example:

"Time Spent": >"5d 2h 30m"
"Updated"

Date or date range

Searching for issues with a deadline changed at a specific date or during a specific date range. For example:

Updated: >2017-01-30
"Voted by"

Logins and usernames

Searching for issues voted on by specific users. For example:

"Voted By": "user3370", "Alice Little"
"Votes"

Number of votes

Searching for issues with a specific number of votes. For example:

Votes: > 6