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

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

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

Формат запросов

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

  1. Откройте страницу Задачи.

  2. В правом верхнем углу страницы нажмите кнопку  Язык запросов.

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

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

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

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

Примеры

  • Задачи, входящие в очередь TEST:
    "Queue": "TEST"
    
  • Задачи, исполнитель в которых — Иван Иванов:
    "Assignee": "Иван Иванов"
    
  • Задачи, со статусами Открыт или В работе.
    "Status": "Открыт", "В работе"
    
  • Задачи, созданные с 1 по 30 января 2017 года:
    "Created": "2017-01-01".."2017-01-30"
    

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

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

<параметр>: "<значение_1>", "<значение_2>", "<значение_3>"

Пример

author: "vpupkin","iivanov"

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

Фильтры с несколькими условиями

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

  • 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>")

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

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

Поиск по всем полям

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

  • В поле ввода запросов введите текст, который нужно найти, и нажмите Применить.

    Если текст состоит из нескольких слов, возьмите его в кавычки.

  • Вы также можете использовать для поиска по тексту адресную строку браузера. Для этого введите запрос вида:

    https://tracker.yandex.ru/issues/?_q="<строка>"
    

    где <строка> — текст, который вы ищете.

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

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

Поиск по заданному полю

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

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

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

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

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

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

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

Операторы для текстового поиска

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

    Summary: #"Version 2.0"
    

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

  • Символы " и \ в запросах, требующих точного совпадения, необходимо экранировать с помощью обратного слеша \.

    Description: #"\"Избранное\""
    

    Такой фильтр выведет только те задачи, в описании которых содержится текст "Избранное".

    "Description": #"Вкл\\Выкл"
    

    Такой фильтр выведет только те задачи, в описании которых содержится текст Вкл\Выкл.

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

    Summary: !"UI"
    

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

  • Чтобы найти только те задачи, в названии которых нет точного совпадения с текстом запроса, воспользуйтесь оператором ~. Оператор работает только для поля Summary:

    Summary: ~"UI Update 2.0"
    

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

Поиск по пользователю

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

  • Логин с символом @ в конце: логин@ — для поиска по точному совпадению с логином пользователя.

    Пример:

    Assignee: user3370@ 
    

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

  • Имя и фамилия в кавычках: "<имя_фамилия>" — для поиска по совпадению с именем и фамилией пользователя.

    Пример:

    Author: "Иван Иванов"
    

    Такой запрос выведет задачи, автор которых — пользователь с именем Иван Иванов. При этом в выдачу могут попасть задачи других авторов, у которых логин или имя похожи на Иван Иванов. Чтобы избежать этого, используйте поиск по логину с символом @.

  • Имя, фамилия или логин пользователя — для поиска по точному совпадению с любыми из этих данных.

    Примеры:

    • Followers: Иван — такой запрос выведет задачи, наблюдатели которых — пользователи с именем Иван и любой фамилией.

    • Followers: ivan — такой запрос выведет задачи, наблюдатель которых — пользователь с логином ivan@ или пользователь с именем Ivan (если имя указано по-английски).

Поиск по локальным полям

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

DEVS.Тестировщик: "Иван Иванов"
DEVS."Ведущий тестировщик": "Иван Иванов"
DEVS.tester: user3370@

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

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

Дата

  • MM/DD/YYYY

    Пример:

    04/30/2017
    
  • DD.MM.YYYY

    Пример:

    30.04.2017
    
  • DD-MM-YYYY

    Пример:

    30-04-2017
    
  • YYYY-MM-DD

    Пример:

    2017-04-30
    

Дата и время

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

"YYYY-MM-DD XXh:XXm:XXs"

Пример:

"2017-04-30 17:25:00"

Интервалы и отрезки времени

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

    "XXM XXw XXd XXh XXm XXs"
    

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

    "2M 3d 5h 32m"
    
  • Вы можете задавать интервалы, используя допустимые форматы записи даты:

    DD-MM-YYYY .. DD-MM-YYYY
    

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

    Created: 01-01-2017 .. 02-03-2017
    
  • Интервалы времени можно задавать с помощью функций, операций сравнения, сложения и вычитания.

    Например:

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

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

    Фильтр для задач в статусе «В работе», у которых дедлайн менее чем через один месяц:

    "Status": "В работе" AND Deadline: < today() + 1M
    

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

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

  • Не равно

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

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

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

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

    <параметр>: <число_1> .. <число_2>
    

Примеры

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

  • Задачи, у которых дедлайн через 3 дня:
    Deadline: <= today() +3d and deadline: >= today()
    

Чтобы кастомизировать параметры, используйте в запросе функции:

  • Задачи, у которых дедлайн сегодня:
    Deadline: today()
    

Функции

Кроме точных значений параметров вы можете использовать функции. Функция — это переменная, значение которой вычисляется в момент выполнения запроса. Например, функция 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() Список сотрудников подразделения Найти задачи, над которыми работают сотрудники Коммерческого отдела:
Assignee: group(value: "Коммерческий отдел")
Примечание. Если в группе, по которой ведется отбор, более 1 000 пользователей, запрос выполнит поиск не по всем, а только по 1 000. Причем заранее неизвестно, какие пользователи будут включены в выборку, так как управлять этим процессом невозможно.

Поиск по изменениям параметра

Если вы знаете, когда и как был изменен параметр задачи, вы можете использовать этот критерий для фильтра:

"<параметр>": changed(from: "<старое_значение>" to: "<новое_значение>" by: "<кто_изменил>" date: "<когда_изменил>")

Например, чтобы узнать список задач, которые пользователь Иван Иванов перевел в статус «в работе» в определенный период времени, нужно составить запрос:

Status: changed(to: "В работе" by: "Иван Иванов" date: 01.09.2017 .. 15.09.2017)

Чтобы узнать список задач, которые пользователь Иван Иванов перевел в статус «в работе» за последнюю неделю, используйте в запросе функцию:

Status: changed(to: "В работе" by: "Иван Иванов" date: >today()-1w)

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

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

"Sort By": Created

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

"Sort By": Created ASC

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

"Sort By": Created ASC, Updated DESC

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

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

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

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

    Assignee: 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
    

Параметры фильтров

Параметр Значение Описание
"Access" Логины или имена пользователей Поиск задач, у которых в поле Доступ указаны заданные пользователи.
Например:
"Access": user3370@, "Иван Иванов"
"Affected Version" Названия версий Поиск задач, у которых в поле Найдено в версиях указано заданное значение.
Например:
"Affected Version": "14.09.1978"
"Assignee" Логины или имена пользователей Поиск задач, исполнителями которых являются заданные пользователи.
Например:
"Assignee": user3370@, "Иван Иванов"
"Author" Логины или имена пользователей Поиск задач, авторами которых являются заданные пользователи.
Например:
"Author": user3370@, "Иван Иванов"
"Block Queue" Названия или ключи очередей Поиск задач, у которых есть зависимые (блокируемые) задачи в заданных очередях.
Например:
"Block Queue": TEST
"Clone" Ключи задач Поиск задач, которые являются копиями заданных задач.
Например:
"Clone": "TASK-123", "TASK-321"
"Clones Of Queue" Названия или ключи очередей Поиск задач, которые являются копиями задач из заданных очередей.
Например:
"Clones Of Queue": TEST, DEVELOP
"Comment" Текстовая строка Поиск задач, у которых есть комментарии с заданным текстом.
Например:
  • Найти задачи, комментарии к которым содержат слова и словоформы фразы:
    "Comment": "отличная работа"
  • Найти задачи, комментарии к которым в точности содержат фразу:
    "Comment": #"отличная работа"
"Comment Author" Логины или имена пользователей Поиск задач, в которых оставляли комментарии заданные пользователи.
Например:
"Comment Author": user3370@, "Иван Иванов"
"Component Owner" Логины или имена пользователей Поиск задач, относящихся к компонентам, за которые отвечают заданные пользователи.
Например:
"Component Owner": user3370@, "Иван Иванов"
"Components" Названия компонентов Поиск задач, относящихся к заданным компонентам.
Например:
"Components": "бекенд", " фронтенд"
"Created" Дата или интервал дат Поиск задач, созданных в заданный день или в заданном интервале дат.
Например:
"Created": 2017-01-01..2017-01-30
"Deadline" Дата или интервал дат Поиск задач, которые имеют дедлайн в заданный день или в заданном интервале дат.
Например:
"Deadline": 2017-01-30
"Depend On Queue" Названия или ключи очередей Поиск задач, которые зависят от задач (блокируются задачами) из заданных очередей.
Например:
"Depend On Queue": Тестирование
"Depends On" Ключи задач Поиск задач, которые зависят от заданных задач (блокируются заданными задачами).
Например:
"Depends On": "TASK-123", "TASK-321"
"Description" Текстовая строка Поиск задач, описание которых содержит заданный текст.
Например:
  • Найти задачи, описание которых содержит слова и словоформы фразы:
    "Description": "изобрести велосипед"
  • Найти задачи, описание которых в точности содержат фразу:
    "Description": #"изобрести велосипед"
"Duplicated In Queue" Названия или ключи очередей Поиск задач, которые имеют дублирующие задачи в заданных очередях.
Например:
"Duplicated In Queue": TEST
"Duplicates" Ключи задач Поиск задач, которые дублируют заданные задачи.
Например:
"Duplicates": "TASK-123", "TASK-321"
"Duplicates In Queue" Названия или ключи очередей Поиск задач, которые дублируют задачи из заданных очередей.
Например:
"Duplicates In Queue": Тестирование
"End Date" Дата или интервал дат Поиск задач, у которых значение поля Дата завершения совпадает с заданной датой или находится в заданном интервале дат.
Например:
"End Date": 2017-01-30
"Epic" Ключи эпиков Поиск задач, относящихся к заданным эпикам.
Например:
Epic: "TASK-123", "TASK-321"
"Epics For Queue" Названия или ключи очередей Поиск эпиков, к которым относятся задачи из заданных очередей.
Например:
"Epics For Queue": TEST, DEVELOP
"Favorited by" В качестве значения параметра может использоваться только функция me() Поиск ваших избранных задач.
Например:
"Favorited by": me()
"Filter" Идентификаторы или имена фильтров Поиск задач, удовлетворяющих заданным фильтрам.
Например:
"Filter": "Задачи моего отдела"
Примечание. Если разные пользователи создали фильтры с одинаковыми именами, при выполнении одного и того же запроса с указанием имени фильтра они могут получить разные результаты, так как при поиске будет применен фильтр того пользователя, который выполняет запрос.
"Fix Version" Названия версий Поиск задач, у которых в поле Исправить в версиях указано заданное значение.
Например:
"Fix Version": "12.11.1986"
"Followers" Логины или имена пользователей Поиск задач, наблюдателями которых являются заданные пользователи.
Например:
"Followers": user3370@, "Иван Иванов"
"Has Epic" Ключи задач Поиск задач, которые относятся к заданным эпикам.
Например:
"Has Epic": TASK-123
"Have Links To Queue" Названия или ключи очередей Поиск задач, которые имеют связи любого типа (родительские, дочерние, связанные, дубликат и так далее) с задачами из заданных очередей.
Например:
"Have Links To Queue": TEST
"History" Текстовая строка Поиск задач, в истории изменений которых есть слова и словоформы заданной фразы.
Поиск выполняется только по значениям полей Название задачи и Описание задачи.
Например:
"History": "проще простого"
"In Epics Of Queue" Названия или ключи очередей Поиск задач, которые относятся к эпикам заданной очереди.
Например:
"In Epics Of Queue": Тестирование
"Is Dependent By" Ключи задач Поиск задач, которые блокируют (от которых зависят) заданные задачи.
Например:
"Is Dependent By": "TASK-123", "TASK-321"
"Is Duplicated By" Ключи задач Поиск задач, которые дублируются заданными задачами.
Например:
"Is Duplicated By": "TASK-123", "TASK-321"
"Is Epic Of" Ключи задач Поиск эпиков, к которым относятся заданные задачи.
Например:
"Is Epic Of": "TASK-123", "TASK-321"
"Is Parent Task For" Ключи задач Поиск задач, которые являются родительскими для указанных задач.
Например:
"Is Parent Task For": "TASK-123", "TASK-321"
"Is Subtask For" Ключи задач Поиск задач, которые являются дочерними для указанных задач.
Например:
"Is Subtask For": "TASK-123", "TASK-321"
"Key" Ключи задач Поиск задач с заданными ключами.
Например:
"Key": "TASK-123", "TASK-321"
"Last comment" Дата и время добавления последнего комментария Поиск задач, в которых определенное время не появлялись новые комментарии.
Например:
"Last Comment": < now()-1h
"Linked to" Ключи задач Поиск задач, которые имеют связи любого типа (родительские, дочерние, связанные, дубликат и так далее) с заданными задачами.
Например:
"Linked to": "TASK-123", "TASK-321"
"Modifier" Логины или имена пользователей Поиск задач, последние изменения которых сделаны заданными пользователями.
Например:
"Modifier": user3370@, "Иван Иванов"
"Old Queue" Названия или ключи очередей Поиск задач, перенесенных из заданных очередей.
Например:
"Old Queue": TEST
"Original" Ключи задач Поиск копий заданных задач.
Например:
"Original": "TASK-123", "TASK-321"
"Original Estimate" Отрезок времени в формате "XXw XXd XXh XXm XXs" Поиск задач с заданной первоначальной оценкой.
Например:
"Original Estimate": "5d 2h 30m"
"Originals Of Queue" Названия или ключи очередей Поиск задач, которые имеют копии в заданных очередях.
Например:
"Originals Of Queue": Тестирование
"Parent Tasks For Queue" Названия или ключи очередей Поиск задач, у которых есть подзадачи в заданных очередях.
Например:
"Parent Tasks For Queue": TEST, DEVELOP
"Pending Reply From" Логины или имена пользователей Поиск задач, в которых требуется ответ от заданного пользователя (пользователя призвали в комментарии).
Например, найти задачи, в которых нужен ответ от пользователя с логином user3370 или от пользователя по имени Иван Иванов:
"Pending Reply From": user3370@, "Иван Иванов"
"Priority" Значения приоритета Поиск задач, которые имеют заданные значения приоритета.
Например:
"Priority": "Minor", "Средний"
"Project" Названия проектов Поиск задач, которые относятся к заданным проектам.
Например:
"Project": "Perpetuum mobile"
"Queue" Названия или ключи очередей Поиск задач, которые относятся к заданным очередям.
Например:
"Queue": TEST
"Queue Owner" Логины или имена пользователей Поиск задач из очередей, владельцами которых являются заданные пользователи.
Например:
"Queue Owner": user3370@, "Иван Иванов"
"Related" Логины или имена пользователей Поиск задач, авторами, исполнителями или наблюдателями которых являются заданные пользователи.
Например:
"Related": user3370@, "Иван Иванов"
"Related To Queue" Названия или ключи очередей Поиск задач, которые связаны с задачами определенных очередей (связь типа «Связанные»).
Например:
"Related To Queue": Тестирование
"Relates" Ключи задач Поиск задач, связанных с определенными задачами (связь типа «Связанные»).
Например:
"Relates": "TASK-123", "TASK-321"
"Resolved" Дата или интервал дат Поиск задач, которые были закрыты (была установлена резолюция) в заданный день или в заданном интервале дат.
Например:
"Resolved": 2017-01-01..2017-01-30
"Resolver" Логины или имена пользователей Поиск задач, которые закрыли (установили резолюцию) заданные пользователи.
Например:
"Resolver": user3370@, "Иван Иванов"
"Sprint" Идентификаторы или названия спринтов Поиск задач, относящихся к заданным спринтам.
Например:
Sprint: "TrackerSprint32"
"Sprint In Progress By Board" Идентификатор доски задач (можно узнать в URL страницы доски) Поиск задач, относящихся к активному спринту на заданной доске задач.
Например:
"Sprint In Progress By Board": 87
"Sprints By Board" Идентификатор доски задач (можно узнать в URL страницы доски) Поиск задач, относящихся к заданной доске задач.
Например:
"Sprints By Board": 87
"Start Date" Дата или интервал дат Поиск задач, у которых значение поля Дата начала совпадает с заданной датой или находится в заданном интервале дат.
Например:
"Start Date": <2017-01-30
"Status" Названия статусов Поиск задач, имеющих заданные статусы.
Например:
"Status": Open, Resolved, Closed
"Story Points" Число очков Story Points Поиск задач, имеющих заданную трудоемкость в очках Story Points.
Например:
"Story Points": >=5
"Subtasks For Queue" Названия или ключи очередей Поиск задач, у которых есть родительские задачи в заданных очередях.
Например:
"Subtasks For Queue": TEST
"Summary" Текстовая строка Поиск задач, название которых содержит заданный текст.
Например:
  • Найти задачи, название которых содержит слова и словоформы фразы:
    "Summary": "изобрести велосипед"
  • Найти задачи, название которых полностью совпадает с фразой:
    "Summary": #"изобрести велосипед"
"Tags" Теги задач Поиск задач, отмеченных заданными тегами.
Например:
"Tags": "Поддержка", "wiki"
"Time Spent" Отрезок времени в формате "XXw XXd XXh XXm XXs" Поиск задач, на решение которых потрачено заданное время.
Например:
"Time Spent": >"5d 2h 30m"
"Type" Тип задачи Поиск задач с заданным типом. Например:
"Type": Epic
"Updated" Дата или интервал дат Поиск задач, которые были изменены в заданный день или в заданном интервале дат.
Например:
"Updated": >2017-01-30
"Voted by" Логины или имена пользователей Поиск задач, за которые проголосовали заданные пользователи.
Например:
"Voted By": user3370@, "Иван Иванов"
"Votes" Число голосов Поиск задач, за которые отдали заданное число голосов.
Например:
"Votes": > 6