Pull to refresh

Распространенные примеры использования продвинутых JQL-запросов

Reading time2 min
Views41K
В данной статье приведены наиболее часто используемые JQL-запросы с использованием различных функций. Данный материал удобно иметь под рукой при необходимости создания сложных JQL-запросов для проектов в JIRA. В первую очередь информация будет полезна менеджерам и тим-лидам. В данной статье собраны примеры запросов, которые наиболее часто используются мною в ежедневной проектной деятельности.

Важно: для некоторых запросов требуется установка плагина 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
Tags:
Hubs:
Total votes 7: ↑6 and ↓1+5
Comments2

Articles