Важную роль в жизненном цикле разработки программного обеспечения играют системы управления проектами. Наиболее популярной является Jira.
Jira — это система отслеживания ошибок, предназначенная для организации общения с участниками команды, а также для управления проектами. Эта система была разработана компанией Atlassian в 2002 году.
При работе с Jira часто возникает необходимость в поиске определенных задач из разных проектов по определенным критериям.
У Jira существует два вида поиска: базовый (basic) и расширенный (advanced).
В базовом поиске есть множество фильтров: по проектам, типам задач, по исполнителю и статусу. Также можно добавить дополнительные поля по критериям Jira. Для перехода к базовому поиску необходимо нажать Issues > Search for issues.
Basic Search удобно использовать, если сложность запроса невысока. Недостатком такого поиска является невозможность построения комплексных запросов.
Рассмотрим, что такое расширенный поиск.
Для построения сложных запросов (например, найти все дефекты определенного исполнителя за определенный промежуток времени) необходимо овладеть Advanced Search и научиться использовать JQL.
JIRA Query Language / JQL — это язык запросов в Jira, который предназначен для поиска задач согласно заданным условиям.
Для расширенного поиска необходимо выбрать Issues > Search for issues >Advanced.
Запрос выполняется в специальном поле на JQL по кнопкам Enter или Search. Также в конце поля поиска содержится помощь по синтаксису (“?”).
Здесь можно посмотреть синтаксис JQL.
Расширенный поиск состоит из трех основных частей:
- Поля (Fields)
- Значения (Values)
- Операторы (Operators)
- Ключевые слова (Keywords)
Поле — это тип данных, используемых в JIRA.
Например: Project, Issuetype, Summary, Severity, Priority, Assignee, AffectedVersion, FixVersion, Attachments, Environment, Work Email, Reporter, Username и т.д.
Названия полей могут изменяться в зависимости от проекта, поэтому важно знать названия полей именно на своем проекте.
Значение — это та информация, которая содержится в полях. Это может быть номер версии в случае AffectedVersion, градация Severity, Priority (приоритет дефекта), статус бага в системе, имя Assignee или Reporter. Для эффективного поиска важно понимать, какие значения способно приобретать то или иное поле.
Операторы — элементы, связывающие поле с его значением. В самом простом случае это может быть «ровно» или «не равно» (= и ! = соответственно) для таких полей, как Issuetype или Status.
При использовании оператора = в выражении можно указать только одно значение. Также популярными операторами являются:
- IN — для объединения нескольких значений
- < , >, <=, >=, != служат для сравнения
- IS/IS NOT — для работы с пустыми значениями полей
- DURING (date_1, date_2) — между датами
- AFTER date_1 — после выбранной даты
- BEFORE date_1 — до выбранной даты
- BY username — каким пользователем
- ON date_1 — в определенную дату
Пример использования операторов и значений:
priority = High, где «=» — оператор, «High» — значение.
Ключевые слова — это слова, которые связывают отдельные запросы и позволяют объединить их в длинный запрос.
Также ключевые слова используются для сортировки, поиска задач, когда поле не имеет значения — «EMPTY», «NULL», для отрицания условия — «NOT».
Примеры ключевых слов: OR, AND, NOT, EMPTY, NULL, ORDER BY, DESC, ASC.
Созданные запросы можно сохранять и использовать в качестве фильтров, а также для настройки просмотра в Jira (включая доски) в будущем.
Для хранения нужно нажать «Save as» и добавить название фильтра, после чего фильтр будет добавлен в остальные фильтры, находящиеся в боковом меню.