10 полезных JQL-запросов для Scrum-команд
14.10.2025
Jira Query Language (JQL) — мощный инструмент для поиска и фильтрации задач, который делает работу Scrum-команды в Jira действительно эффективной. Если вы только начинаете осваивать JQL или хотите использовать более продвинутые сценарии для анализа спринтов, контроля багов и повышения прозрачности, эта статья будет вашей рабочей шпаргалкой. Ниже рассмотрены примеры, которые регулярно применяют ведущие Scrum-команды мира. Каждый пример снабжен описанием, реальным кейсом применения и советами для настройки под ваш процесс.
Что такое JQL и зачем он Scrum-команде?
JQL — это язык запросов Jira, предназначенный для гибкого поиска задач по различным критериям: статус, исполнитель, тип, срок, приоритет и т.д. В Scrum-команде JQL применяется для:
- автоматизации отчетности по спринтам;
- выделения blockers и срочных задач;
- анализа загруженности по ролям и сотрудникам;
- аудита фиксации времени и сопровождения ретроспектив.
В отличие от базовых фильтров, JQL даёт неограниченную гибкость, помогает формировать персональные и командные дашборды, делает Scrum прозрачным как для руководителя, так и для всей команды.
Базовая структура JQL-запроса
Запрос JQL состоит из «поля» (field), «оператора» (operator) и «значения» (value). Примеры:
assignee = currentUser()
— покажет задачи, назначенные текущему пользователю;status = "In Progress"
— задачи в статусе «В работе»;project = "MyProject" AND type = Bug AND updated >= -7d
— баги, модифицированные за неделю.
Помимо простых условий, JQL поддерживает сложные логические операторы AND
, OR
, NOT
, вхождения в множества IN
и спецфункции ORDER BY
, CHANGED
и др.
Кейсы применения JQL для Scrum
Каждая команда может создавать свои фильтры в соответствии с рабочими ритуалами. Но есть универсальные сценарии для эффективного Scrum-процесса:
- Контроль объема невыполненной работы (Backlog Health);
- Мониторинг состояния задач по спринту;
- Отслеживание blockers и зависимостей;
- Анализ накопленного технического долга;
- Аудит исторических изменений статусов задач;
- Оценка скорости (velocity) и выполнения обязательств;
- Выявление просроченных/почти просроченных задач;
- Оценка качества ведения user stories и багов;
- Анализ загруженности команды;
- Автоматизация ежедневных стендапов и отчетов.
10 полезных JQL-запросов: с примерами и пояснениями
1. Все задачи текущего спринта
sprint in openSprints()
Показывает все задачи открытого сейчас спринта для вашей доски.
Кейс: Стандартный фильтр для трекинга задач на планерках или в дашборде спринта. Можно добавить уточнения AND assignee = currentUser()
— чтобы видеть только свои задачи.
2. Незавершённые задачи прошлого спринта (carry-over)
sprint in closedSprints() AND resolution = Unresolved
Используйте для разбора хвостов после завершения спринта и анализа причин переноса.
Кейс: Запрос важен для ретроспектив: помогает выяснить, сколько и какие задачи не удалось довести до конца и почему.
3. Блокирующие задачи (blockers) в работе
priority = Blocker AND status != Done AND sprint in openSprints()
Позволяет фокусироваться на самых критичных проблемах текущего спринта, чтобы команда быстро их разбирала.
4. Все баги открытого спринта
issuetype = Bug AND sprint in openSprints()
Высвечивает весь перечень дефектов, требующих внимания в рамках спринта. Можно кастомизировать по статусу или компоненту.
5. Новые задачи, созданные за последние N дней
sprint in openSprints() AND created >= -3d
Отражает задачи, которые добавили (например, unplanned work) после старта спринта — полезно для оценки scope creep и его влияния на delivery.
6. Просроченные задачи спринта
duedate < now() AND sprint in openSprints() AND status != Done
Парамедик-фильтр для ежедневных standup — отслеживает "висяки", которые могут поставить под угрозу выполнение общекомандного коммита.
7. Истории, перешедшие в "Done" за N дней
issuetype = Story AND status CHANGED TO Done AFTER -3d AND sprint in openSprints()
Позволяет отслеживать завершённые user stories за интересующий временной отрезок внутри спринта.
8. Все задачи этого эпика
"Epic Link" = EPIC-123
Меняет EPIC-123 на ключ нужного эпика. Фильтр помогает при планировании, review и декомпозиции работы по крупным бизнес-темам.
9. Задачи без оценки (Story Points)
sprint in openSprints() AND "Story Points" is EMPTY
Удобный инструмент для подготовки к планированию, чтобы команда заново оценивала забытые/новые задачи.
10. Список задач, по которым не велась активность N дней
updated <= -7d AND sprint in openSprints() AND status != Done
Помогает выявлять задачи, по которым долго не было изменений: высокий риск, что они "зависли" и требуют обсуждения на грумингах или стендапах.
Таблица всех JQL-запросов и целей
Запрос | Назначение | Когда использовать |
---|---|---|
sprint in openSprints() | Отображение всех задач активного спринта | Планирование, ежедневные стендапы |
sprint in closedSprints() AND resolution = Unresolved | Выделение невыполненных задач прошедших спринтов | Ретроспектива, анализ коммита |
priority = Blocker AND status != Done AND sprint in openSprints() | Текущие Blocker-задачи | Фокусировка на срочных проблемах |
issuetype = Bug AND sprint in openSprints() | Список багов активного спринта | Контроль тестирования, bugfix |
sprint in openSprints() AND created >= -3d | Новые задачи за последние 3 дня | Оценка scope creep |
duedate < now() AND sprint in openSprints() AND status != Done | Просроченные задачи | Контроль дэдлайнов |
issuetype = Story AND status CHANGED TO Done AFTER -3d AND sprint in openSprints() | Завершённые пользовательские истории | Анализ velocity, итоги спринта |
"Epic Link" = EPIC-123 | Задачи определённого эпика | Планирование и срезы по фичам |
sprint in openSprints() AND "Story Points" is EMPTY | Задачи без оценки | Подготовка к планированию |
updated <= -7d AND sprint in openSprints() AND status != Done | Долго не обновляющиеся задачи | Антипаттерны, вовремя обнаруживать блокеры |
Полезные лайфхаки по JQL
- Используйте
ORDER BY
— сортируйте задачи по дате создания, уровню приоритета или исполнителю, чтобы делать дашборды более наглядными; - Через
CHANGED
иWAS
можно искать задачи, статус которых менялся в заданный период или переходил в определённое значение; - Параметр
currentUser()
делает фильтры универсальными для каждого;membersOf("<group>")
— для фильтрации по командам; - Добавляйте комментарии к сохранённым фильтрам, чтобы коллеги быстрее ориентировались в их логике;
- Не бойтесь комбинировать фильтры, делать сложные AND/OR-запросы — это не только удобно, но и сокращает время поиска нужной информации.
Расширенные примеры: JQL для интеграции и автоматизации
Сложные команды Jira/Aтлантиан часто используют кастомные поля, автоматизацию через ScriptRunner, Automation for Jira или third-party плагины Jira Marketplace. JQL хорошо интегрируется с большинством из них.
status changed FROM "To Do" TO "In Progress" AFTER -2d
— задачи, перешедшие в работу за последние 2 дня (мониторинг начала работ по таскам).labels = "needs-review" AND assignee in membersOf("reviewers")
— все задачи с маркировкой ревью, назначенные ревьюерам.project = Development AND type = Bug AND status IN ("To Do", "In Progress")
— баги в проекте "Разработка", ожидающие или находящиеся в работе.sprint in openSprints() AND timespent > 28800
— задачи, на которые потрачено больше 8 часов в текущем спринте (контроль перегруза).
С помощью JQL можно также строить триггеры для автоматизации задач, например — автоуведомления при появлении новых blockers, отслеживание SLA или автоматическое создание subtasks по условиям статуса.
JQL для ретроспектив, обзоров и репортов
Рекомендации по применению готовых фильтров для ретроспектив, demo и отчетности:
- Создайте фильтр carry-over задач (query 2) и используйте Saved Filter Gadget для вывода на dашборде;
- Ведите историю изменений по Story Points за каждый спринт через
CHANGED
иWAS
; - Делайте выборки "самые долго закрываемые задачи" —
status = Done ORDER BY resolutionDate - created DESC
; - Используйте фильтры по bugs для анализа эффективности тестирования и процесса устранения дефектов;
- Покажите дашбордами количество задач без оценки и незавершенные задачи по категориям.
Часто задаваемые вопросы по JQL
Можно ли искать по кастомным полям?
Да, большинство полей любого типа (например, Story Points, Custom Priority, Components) доступны для JQL-фильтрации, если включены в схему проекта.
Как фильтровать задачи определённой Scrum-команды?
Используйте групповые фильтры (assignee in membersOf("scrum-team")
) либо указывайте поле Team, если оно используется (Team = "Alpha Team").
Как исключить задачи из определённых спринтов?AND sprint NOT IN (23, 24)
или AND sprint not in closedSprints()
.
Что делать, если запрос долго выполняется?
Уточните фильтр, избегайте объединения большого числа OR, старайтесь не использовать слишком широкие условия (например, только по дате обновления).
Можно ли сохранять и делиться фильтрами?
Да, сохранённые фильтры доступны для оформления совместных дашбордов, рассылки или вставки в Confluence.
JQL Cheat Sheet: шпаргалка для Scrum-команды
assignee = currentUser()
— только ваши задачиproject = "ИмяПроекта"
— все задачи проектаstatus = "In Progress"
— в работеpriority = High AND status not in (Resolved, Closed)
— приоритетные задачиdue < now()
— просроченные задачиcreated >= -7d
— созданы за неделюorder by created DESC
— сортировать по дате создания (сначала свежие)
Рекомендации по внедрению JQL в работу Scrum-команды
- Не ограничивайтесь только стандартными фильтрами Jira — настройте фильтры под нужды вашей команды.
- Интегрируйте JQL-запросы в ежедневные ритуалы: планирование, стендапы и ретро.
- Создавайте Saved Filters и используйте их на Jira dashboards, чтобы оперативно видеть KPI по спринтам.
- Вовлекайте команду: делитесь фильтрами, объясняйте логику — это снижает хаос и повышает прозрачность на всех этапах.
- Периодически пересматривайте и обновляйте используемые фильтры: Scrum-процесс должен быть живым!
Заключение
Правильный подбор JQL-запросов — не просто техническая настройка, а основа прозрачности, совместной работы и эффективности Scrum-команды. Используя примеры из этой статьи, вы сможете быстрее находить нужную информацию, ускорить планирование, упросить daily, повысить качество отчетности и, главное, дать команде больше самостоятельности и контроля над процессом. Если хочется узнать больше о кастомных сценариях поиска, автоматизации отчётности или глубокой аналитике Scrum — команда PMHub поможет подобрать инструменты “под ключ”.