В данной статье приведены наиболее часто используемые JQL-запросы с использованием различных функций. Данный материал удобно иметь под рукой при необходимости создания сложных JQL-запросов для проектов в JIRA. В первую очередь информация будет полезна менеджерам и тим-лидам. В данной статье собраны примеры запросов, которые наиболее часто используются мною в ежедневной проектной деятельности.
Важно: для некоторых запросов требуется установка плагина Adaptavist ScriptRunner
Вывод всех issues, которые блокированы (имеют тип связи «blocked by») определенным issue (здесь сущность с ID TESTPROJECT-123) (способ требует установленного Adaptavist ScriptRunner).
Альтернативный способ, не требующий Adaptavist ScriptRunner:
Вывод всех issues определенного фильтра:
Необходимо помнить, что если вы планируете использовать фильтры не только лично для себя, их необходимо «шарить» на нужных пользователей.
Вывести все подзадачи от сущностей, которые выводятся определенным фильтром
Вывести все задачи в проекте TESTPROJECT, которые были созданы пользователем (указанным Reporter'ом), состоящим в группе «CompanyName»:
Вывести все, что создано до 1 февраля 2017 включительно:
Вывести все, что было обновлено с 16 июля 2017 по 22 июля 2017:
Вывести все задачи в проекте в которых изменялся статус с In-progress на resolved за последние 7 дней:
Для указания периодов так же можно использовать интуитивно понятные функции: startofweek(), endofweek(),startOfYear(), endOfYear()
Вывести все задачи, в которых изменялся статус с In-progress на resolved в период с 12 по 22 июля 2017:
Вывести все задачи, которые были в статусе In-progress в период с 12 по 22 июля 2017:
Вывести все задачи, по которым за текущую неделю менялся assignee на текущего пользователя:

Текущий релиз
Будущие релизы
Вышедшие релизы
Search JIRA like a boss with JQL
Advanced searching — functions reference
Adaptavist ScriptRunner
Важно: для некоторых запросов требуется установка плагина Adaptavist ScriptRunner
Типы связей (linkedIssuesOf и hasLinks)
Вывод всех issues, которые блокированы (имеют тип связи «blocked by») определенным issue (здесь сущность с ID TESTPROJECT-123) (способ требует установленного Adaptavist ScriptRunner).
issueFunction in linkedIssuesOf("TESTPROJECT-123") AND issueFunction in hasLinks("blocked by")
Альтернативный способ, не требующий Adaptavist ScriptRunner:
issue in linkedIssues("TESTPROJECT-123","blocked by")
Ссылка на другие фильтры
Вывод всех issues определенного фильтра:
filter = "Название сохраненного фильтра"
Необходимо помнить, что если вы планируете использовать фильтры не только лично для себя, их необходимо «шарить» на нужных пользователей.
Вывести все подзадачи от сущностей, которые выводятся определенным фильтром
issueFunction in subtasksOf
( '
filter="Название сохраненного фильтра"
')
Функция membersOf (работа с группами)
Вывести все задачи в проекте TESTPROJECT, которые были созданы пользователем (указанным Reporter'ом), состоящим в группе «CompanyName»:
Project=TESTPROJECT
AND reporter in membersOf(CompanyName)
Работа с датами и временными интервалами
Вывести все, что создано до 1 февраля 2017 включительно:
created<="2017/02/01"
Вывести все, что было обновлено с 16 июля 2017 по 22 июля 2017:
updatedDate < "2017/07/22 00:00" AND updatedDate > "2017/07/16 00:00"
Вывести все задачи в проекте в которых изменялся статус с In-progress на resolved за последние 7 дней:
project in ("TESTPROJECT")
AND Status CHANGED FROM ("In Progress") to ("Resolved")
DURING (-7d, now())
Для указания периодов так же можно использовать интуитивно понятные функции: startofweek(), endofweek(),startOfYear(), endOfYear()
Вывести все задачи, в которых изменялся статус с In-progress на resolved в период с 12 по 22 июля 2017:
Status CHANGED FROM ("In Progress") to ("Resolved")
DURING ("2017/07/12 00:00","2017/07/22 00:00")
Вывести все задачи, которые были в статусе In-progress в период с 12 по 22 июля 2017:
Status was ("In Progress")
DURING ("2017/07/12 00:00","2017/07/22 00:00")
Вывести все задачи, по которым за текущую неделю менялся assignee на текущего пользователя:
assignee CHANGED TO currentUser()
DURING (startofweek(), endofweek())
Работа со релиз-версиями

Текущий релиз
fixVersion = earliestUnreleasedVersion()
Будущие релизы
(fixVersion IN unreleasedVersions() and fixVersion != earliestUnreleasedVersion() ) OR fixVersion is EMPTY
Вышедшие релизы
fixVersion NOT IN unreleasedVersions()
Список полезных источников:
Search JIRA like a boss with JQL
Advanced searching — functions reference
Adaptavist ScriptRunner