JQL для начинающих пользователей (часть 1)
Ранее на NTA рассматривали статью по Jira (Ссылка). У рядовых пользователей Jira часто возникают вопросы непосредственно по поиску необходимых задач. Для этого нам поможет JQL.
JQL (Jira Query Language) – это гибкий инструмент, позволяющий искать задачи в Jira, который использует четыре основных “сущностей”:
Поля — сюда входят название всех системных и пользовательских полей: Название проекта (project), Название темы (summary), Описание (description), Автор (reporter), Исполнитель (assignee), Обновлено (updated) и т.д.
Операторы:
- привычные нам сравнения «=», «<», «>», «<=», «>=», «!=»;;
- для включения/не включения значений, содержащихся в поле «IN»/«NOT IN»;
- содержания/не содержания значения в поле «~»/«!~»;
- для работы с пустыми (обычно это null и empty) значениями полей «IS»/«IS NOT»;
- для поиска по истории значений хранившихся в поле (поддерживаются не все поля) «WAS»/«WAS NOT». Тут можно указать дополнительные параметры:
- AFTER date_1 – после выбранной даты
- BEFORE date_1 – до выбранной даты
- BY username – каким пользователем
- DURING (date_1, date_2) – между датами
- ON date_1 – в определенную выбранную дату
- Также имеется оператор для поиска задач, которые имеют, ранее имели значения поля в заданном списке значений/никогда не имели значения поля в заданном списке значений «WAS IN»/«WAS NOT IN». Имеются аналогично пункту 5 необязательные предикаты для уточнения данных;
- Оператор изменения значения поля «CHANGED». Имеются аналогично пункту 5 необязательные предикаты для уточнения данных и добавляются еще два:FROM old_value – изменился со значенияTO new_value – изменился в значение
Значения — это непосредственно данные, которые находятся в полях
Ключевые слова:
- Для объединения нескольких условий конъюнкцией «AND» и дизъюнкцией «OR»;
- Для отрицания условия «NOT»;
- Для поиска задач, когда поле не имеет значения «EMPTY», «NULL»;
- Для сортировки по указанным полям «ORDER BY». Можно также в каком порядке мы сортируем «DESC», «ASC»
В действительности, синтаксис JQL похож на SQL, однако в отличие от SQL, в JQL нам не ну нужно выбирать поля, таблицы или базы данных для отображения – нам будут показываться непосредственно сами задачи, согласно прописанным нами условиям.
Рассмотрим подробнее на примерах пункты 2 и 4 как искать некоторые задачи.
- Для того, чтобы показать нам задачи, не находящиеся в статусе «Clossed» и созданные пользователем Ivan, в строку JQL мы вводим следующее:
- Для задачи, в которых в поле «score» находится значение больше 2, но не больше 4, в строку JQL мы вводим следующее:
- Для того, чтобы найти задачи в статусах «To Do» и «In Progress», в строку JQL мы вводим следующее:
- Для того, чтобы найти задачи, где исполнителем не являются пользователи Lena и Egor, в строку JQL мы вводим следующее:
- Для нахождения задач, где в заголовке нет слова «разработка», в строку JQL мы вводим следующее:
- Для того, чтобы показать задачи, где статус был изменен после 1 июня 2021 и исполнителем когда-либо был пользователь Olga, в строку JQL мы вводим следующее:
- А для того, чтобы найти задачи, где исполнитель был изменен с пользователя Ivan на пользователя Lena, в строку JQL мы вводим следующее:
А теперь попробуйте самостоятельно.
- Как найти задачи, созданные пользователем Egor после 1 июня 2021, где исполнителем является Ivan, и статус не менялся после 10 июня 2021?
- Как найти задачи, где в Описании содержится слово «NewTechAudit», автором не является пользователь Olga, и статус был изменен из «In Progress» в «Clossed» до 10 июня 2021?
Мы рассмотрели основной функционал JQL. В следующей статье мы рассмотрим какие существуют функции в JQL и полезные возможности по управлению вашими запросами JQL.