Язык запросов

Если возможностей простых фильтров вам не хватает, задайте фильтр с помощью языка запросов.

Язык запросов позволяет:

Формат запросов и доступные параметры

Чтобы задать фильтр с помощью языка запросов:

  1. Выберите Фильтры → + Новый фильтр в верхней панели Трекера.

  2. Перейдите на вкладку Запрос.

  3. Введите запрос и нажмите кнопку Применить.

Общий формат записи запроса:

параметр: "значение"

Например, запрос author: "vpupkin" выведет задачи, автором которых является пользователь vpupkin.

Вы можете использовать в фильтре любые параметры задач. Чтобы задать параметр, просто начните вводить его название и выберите подходящий из подсказки.

Нажмите, чтобы просмотреть полный список доступных параметров
Параметр Описание Пример
Queue

Название или ключ очередей, к которым относятся задачи

Найти задачи, входящие в очередь TEST:

Queue: "TEST"
"Queue Lead"

Логины или имена владельцев очередей, к которым относятся задачи

Найти задачи, для которых владельцем очереди являются пользователи user3370 или Алиса Литл:

"Queue Lead": "user3370", "Алиса Литл"
Assignee

Логины или имена исполнителей задач

Найти задачи, исполнителем которых являются пользователи user3370 или Алиса Литл:

Assignee: "user3370", "Алиса Литл"
Author

Логины или имена авторов задач

Найти задачи, автором которых являются пользователи user3370 или Алиса Литл:

Author: "user3370", "Алиса Литл"
Followers

Логины или имена наблюдателей

Найти задачи, на которые подписаны пользователи user3370 или Алиса Литл:

Followers: "user3370", "Алиса Литл"
Modifier

Логины или имена пользователей, которые последними вносили изменения в задачи

Найти задачи, последние изменения которых сделаны пользователями user3370 или Алиса Литл:

Modifier: "user3370", "Алиса Литл"
Resolver

Логины или имена пользователей, установивших резолюцию

Найти задачи, которые были закрыты пользователями user3370 или Алиса Литл:

Resolver: "user3370", "Алиса Литл"
Components

Названия компонентов, к которым относятся задачи

Найти задачи, относящиеся к компонентам «бекенд» или «фронтенд»:

Components: "бекенд", " фронтенд"
"Component Lead"

Логины или имена пользователей, ответственных за компоненты

Найти задачи, относящиеся к компонентам, за которые отвечают user3370 или Алиса Литл:

"Component Lead": "user3370", "Алиса Литл"
"Comment Author"

Логины или имена пользователей, оставивших комментарий под задачами

Найти задачи, которые комментировали пользователями user3370 или Алиса Литл:

"Comment Author": "user3370", "Алиса Литл"
Access

Логины или имена пользователей, перечисленных в поле Доступ

Найти задачи, в поле Доступ которых присутствуют пользователями user3370 или Алиса Литл:

Access: "user3370", "Алиса Литл"
Related

Логины или имена пользователей, которые являются авторами, исполнителями или наблюдателями задач

Найти задачи, автором, исполнителем или наблюдателем которых являются пользователями user3370 или Алиса Литл:

Related: "user3370", "Алиса Литл"
"Favorited by"

Ваши избранные задачи. В качестве значения параметра может использоваться только функция me()

Найти мои избранные задачи:

"Favorited by": me()
Status

Статусы задач

Найти задачи, со статусами Open, Resolved или Closed:

Status: Open, Resolved, Closed
Priority

Приоритеты задач

Найти задачи, с приоритетами Minor или Средний:

Priority: "Minor", "Средний"
Tags

Теги задач

Найти задачи, отмеченные тегами Поддержка или wiki:

Tags: "Поддержка", "wiki"
Maillists

Отделы и команды, подписанные на задачи

Найти задачи, на которые подписан отдел «Хелпдеск»:

Maillists: "Хелпдеск"
"Fix Version"

Значения параметра Исправить в версиях

"Fix Version": "12.11.1986"
"Affected Version"

Значения параметра Найдено в версиях

"Affected Version": "14.09.1978"
Votes

Количество голосов задачи

Найти задачи, за которые отдали больше 6 голосов:

Votes: > 6
Voted by

Логины или имена пользователей, поставивших лайк задаче

Найти задачи, за которые проголосовали пользователи user3370 или Алиса Литл:

"Voted By": "user3370", "Алиса Литл"
Sprint

Идентификатор или название спринта, к которому относятся задачи

Найти задачи, относящиеся к спринту «TrackerSprint32»:

Sprint: "TrackerSprint32"
Sprints By Board

Идентификатор Agile-доски, в спринты которой входят задачи

Найти задачи, относящиеся к доске 87.

"Sprints By Board": 87
Created
Дата или интервал дат создания задач

Найти задачи, созданные с 1 по 30 января 2017 года:

Created: 2017-01-01..2017-01-30
Updated

Дата или интервал дат изменения задачи

Найти задачи, измененные после 30 января 2017 года:

Updated: >2017-01-30
Deadline

Дата или интервал дат дедлайна задач

Найти задачи с дедлайном 30 января 2017 года:

Deadline: 2017-01-30
"Start Date"

Дата или интервал дат начала работы над задачами

Найти задачи с датой начала до 30 января 2017 года:

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

Дата или интервал дат окончания работы над задачами

Найти задачи с датой завершения 30 января 2017 года:

"End Date": 2017-01-30
Resolved

Дата или интервал дат проставления резолюции

Найти задачи, закрытые в интервале с 1 по 30 января 2017 года:

Resolved: 2017-01-01..2017-01-30
"Time Spent"

Время, затраченное на решение задач

Найти задачи, на решение которых потрачено больше 5 дней 2 часов и 30 минут:

"Time Spent": >"5d2h30m"
"Original Estimate"

Первоначальная оценка времени, необходимого для решения задач

Найти задачи с первоначальной оценкой 5 дней 2 часа и 30 минут:

"Original Estimate": "5d2h30m"
"Story Points"

Оценка трудоемкости задач в очках Story Points

Найти задачи с трудоемкостью 5 Story Points и больше:

"Story Points": >=5
Key

Ключи задач

Найти задачи с ключами TASK-123 и TASK-321:

KEY: "TASK-123", "TASK-321"
Filter

Идентификатор или имя фильтров, которым соответствуют задачи

Найти задачи, удовлетворяющие фильтру «Задачи моего отдела»:

Filter: "Задачи моего отдела"
"Old Queue"

Название или ключ предыдущей очереди задачи (для задач, которые были перенесены в другую очередь)

Найти задачи, перенесенные из очереди TEST:

"Old Queue": "TEST"
"Is Subtask For"

Ключи задач, по отношению к которым искомые задачи являются подзадачами

Найти дочерние задачи задач TASK-123 и TASK-321:

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

Ключи задач, по отношению к которым искомые задачи являются родительскими

Найти родительские задачи задач TASK-123 и TASK-321:

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

Ключи эпиков, к которым относятся задачи

Найти задачи, относящиеся к эпикам TASK-123 и TASK-321:

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

Ключи задач, с которыми связаны искомые задачи

Найти задачи, связанные с задачами TASK-123 и TASK-321:

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

Ключи задач, которые дублируют искомые задачи

Найти задачи, которые дублируют задачи TASK-123 и TASK-321:

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

Ключи задач, которые являются оригиналами для искомых задач-клонов

Найти клоны задач TASK-123 и TASK-321:

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

Ключи задач, с которыми искомые задачи имеют любой тип связи связь (родительские, дочерние, связанные, дубликат, оригинал)

Найти задачи, связанные с задачами TASK-123 и TASK-321:

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

Параметры даты и времени

Многие параметры задач имеют значения даты и времени. В языке запросов поддерживается несколько форматов записи таких параметров:

Дата
  • MM/DD/YYYY

    Пример:

    04/30/2017
  • DD.MM.YYYY

    Пример:

    30.04.2017
  • DD-MM-YYYY

    Пример:

    30-04-2017
  • YYYY-MM-DD

    Пример:

    2017-04-30
Время

Вы можете задавать отрезки времени в неделях, днях, часах, минутах и секундах в формате:

"XXw XXd XXh XXm XXs"

Например, отрезок времени в 3 дня 5 часов и 32 минуты запишется как:

"3d 5h 32m"

При поиске по полям, содержащим дату, вы можете пользоваться операциями сложения и вычитания, временными интервалами и функциями.

Например, фильтр для задач, созданных не раньше недели и одного дня назад:

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

Фильтр для задач, созданных в определенный промежуток времени:

Created: 01-01-17 .. 02-03-17

Поиск по тексту

Кроме поиска по параметрам, вы можете воспользоваться привычным текстовым поиском. Для этого введите текст в поле Запрос и нажмите Применить.

Поиск ведется по всем текстовым полям задачи: названию, описанию и комментариям. Чтобы искать только по одному из полей, укажите его с помощью параметра:

  • Summary — название задачи.

  • Description — описание задачи.

  • Comment — текст комментария.

  • History — текст в истории изменений.

Пример
Description: "Эта местность мне знакома, как окраина Китая"

Такой фильтр выведет все задачи, в описании которых присутствуют слова и словоформы исходного запроса.

Чтобы найти только те задачи, текст в которых в точности совпадает с текстом запроса, воспользуйтесь оператором #:
Summary: #"Lorem ipsum dolor sit amet"

Несколько значений параметра

Если вы хотите отфильтровать задачи по нескольким значениям одного параметра, перечислите их через запятую:
параметр: "значение1", "значение2", "значение3"
Пример
author: "vpupkin","iivanov"

Такой фильтр выведет все задачи, автором которых является пользователь vpupkin или iivanov.

Операции сравнения

Кроме проверки на точное совпадение, язык запросов поддерживает операции сравнения:

  • Не равно

    параметр: !"значение"
  • Больше, Меньше, Меньше или равно, Больше или равно

    Операции применяются только для числовых параметров.

    параметр: >число
    параметр: <число
    параметр: >=число
    параметр: <=число
  • Лежит в интервале

    Операция применяется только для числовых параметров.

    параметр: число1 .. число2

Логические операторы

С помощью логических операторов вы можете объединять несколько условий в одном фильтре:

  • AND — логический оператор И. Условия, объединенные таким оператором, должны выполняться одновременно.

    Пример:
    параметр1: "значение1" AND параметр2: "значение2"

    Такой запрос выведет задачи, у которых параметр1 имеет значение значение1 и параметр2 имеет значение значение2.

    Примечание. Вместо оператора AND вы можете просто перечислить поля через пробел.
  • OR — логический оператор ИЛИ. Должно выполняться хотя бы одно из условий, объединенных таким оператором.

    Пример:
    параметр1: "значение1" OR параметр2: "значение2"

    Такой запрос выведет задачи, у которых выполнено хотя бы одно из условий: параметр1 имеет значение значение1 или параметр2 имеет значение значение2.

Вы можете создавать сложные фильтры, комбинируя несколько операторов в одном запросе:

параметр1: "значение1" AND параметр2: "значение2" OR параметр3: "значение3"

При вычислении сложных фильтров сначала применяются операторы AND. Чтобы изменить порядок действий, воспользуйтесь скобками:

параметр1: "значение1" AND (параметр2: "значение2" OR параметр3: "значение3")

Функции

Функции — это вычисляемые параметры, которые вы можете использовать в качестве значений для сравнения. Например, чтобы вывести все задачи, созданные сегодня, воспользуйтесь функцией today():

Created: today()
Функция Результат выполнения Пример
empty() 

Пустое значение (параметр не задан)

Найти задачи, у которых не задан исполнитель:

Assignee: empty()
notEmpty()

Любое непустое значение (параметр задан)

Найти задачи, у которых назначен дедлайн:

Deadline: notEmpty()
me() 

Имя пользователя, выполнившего запрос

Найти задачи, автором которых вы являетесь:

Author: me()
now()

Текущее время с точностью до минуты

Найти задачи, созданные за последние 12 часов:

Created: >now()-12h
today()
Интервал времени, соответствующий текущей дате

Найти задачи, созданные сегодня:

Created: today()
week()

Интервал дат, соответствующий текущей неделе

Найти задачи, созданные на этой неделе:

Created: week()
month() 

Интервал дат, соответствующий текущему месяцу

Найти задачи, созданные в этом месяце:

Created: month()
quarter() 

Интервал дат, соответствующий текущему кварталу

Найти задачи, созданные в этом квартале:

Created: quarter()
year()

Интервал дат, соответствующий текущему году

Найти задачи, созданные в этом году:

Created: year()
unresolved()

Резолюция не задана

Найти все задачи, у которых не задана резолюция:

Resolution: unresolved()
group(value: "Имя подразделения")

Список сотрудников подразделения

Найти задачи, над которыми работают сотрудники Коммерческого отдела:

Assignee: group(value: "Коммерческий отдел") 

Сортировка результатов

Вы можете отсортировать результаты фильтра, задав в конце запроса параметр "Sort By". В качестве значения укажите имя поля для сортировки:
"Sort By": Created

При необходимости задайте порядок сортировки по возрастанию (ASC) или по убыванию (DESC):

"Sort By": Created ASC

Чтобы указать несколько полей для сортировки, перечислите их через запятую в порядке приоритета:

"Sort By": Created ASC, Updated DESC

Полезные запросы

Попробуйте несколько готовых запросов, чтобы лучше разобраться в их работе:

  • Активные задачи, автором которых вы являетесь:

    Assignee: me() Resolution: empty()
  • Активные задачи, исполнителем которых вы являетесь:

    Author: me() Resolution: empty()
  • Активные задачи, за которыми вы наблюдаете:

    Followers: me() Resolution: empty()
  • Задачи с истекающим в течение недели дедлайном, исполнителем которых вы являетесь::

    Assignee: me() Deadline: week()
  • Задачи с приоритетами Critical или Blocker, для которых вы являетесь автором, исполнителем или наблюдателем.

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