Более полная информация о синтаксисе языка JQL приведена в документации Jira и Script Runner (на английском языке).
Функция
| Описание
| Поддерживаемые поля
| Операторы | Пример
| |
---|---|---|---|---|---|
Поддерживаемые | Неподдерживаемые | ||||
membersOf() | Возвращает список пользователей, которые входят в указанную группу AD | Assignee, Reporter, Voter, Watcher, custom fields of type User | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти заявки, исполнитель которых входит в группу GroupName: |
closedSprints(), | Возвращает список закрытых/открытых спринтов | Sprint | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти все заявки в завершенных спринтах: |
componentsLeadByUser() | Возвращает список компонентов, владельцем которых является указанный пользователь. Если пользователь не указан, используется текущий пользователь | Component | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти заявки со статусом "In Progress", относящиеся к компоненту, владельцем которых является текущий пользователь: |
currentLogin(), | Возвращает время начала текущей или предыдущей сессии текущего пользователя | Created, Due, Resolved, Updated, custom fields of type Date/Time | =, !=, >, >=, <, <=WAS*, WAS IN*, WAS NOT*, WAS NOT IN*, CHANGED** Только в предикате | ~, !~, IS, IS NOT, IN, NOT IN | Найти заявки, которые были созданы во время текущей сессии: |
currentUser() | Текущий пользователь. | Assignee, Reporter, Voter, Watcher, custom fields of type User | =, != | ~, !~, >, >=, <, <=, IS, IS NOT, IN, NOT IN, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти заявки, которые назначены текущему пользователю: |
earliestUnreleasedVersion() | Самая ранняя не выпущенная версия указанного проекта | AffectedVersion, FixVersion, custom fields of type Version | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти заявки, у которых FixVersion является самой ранней не выпущенной версии проекта ProjectName: |
endOfDay(), | Окончание текущего дня (месяца, недели, года). | Created, Due, Resolved, Updated, custom fields of type Date/Time | =, !=, >, >=, <, <=WAS*, WAS IN*, WAS NOT*, WAS NOT IN*, CHANGED** Только в предикате | ~, !~, IS, IS NOT, IN, NOT IN | Найти заявки, которые должны быть выполнены до конца текущего дня: due < endOfDay() |
issueHistory() | Список недавно просмотренных заявок | Issue | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти недавно просмотренные заявки, назначенные текущему пользователю: |
latestReleasedVersion() | Последняя выпущенная версия указанного проекта. | AffectedVersion, FixVersion, custom fields of type Version | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти заявки, у которых FixVersion является последней выпущенной версией проекта ProjectName: |
linkedIssues() | Список заявок, связанных с указанной заявкой. Список можно ограничить ссылками определенного типа. | Issue | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти заявки, которые связаны с определенной заявкой: issue in linkedIssues(XXX-1000) |
now() | Текущие дата и время | Created. Due, Resolved, Updated, custom fields of type Date/Time | =, !=, >, >=, <, <=WAS*, WAS IN*, WAS NOT*, WAS NOT IN*, CHANGED** Только в предикате | ~, !~, IS, IS NOT, IN, NOT IN | Найти просроченные заявки: |
projectsLeadByUser() | Возвращает список проектов, владельцем которых является указанный пользователь. Если пользователь не указан, используется текущий пользователь | Project | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти открытые заявки в проектах, владельцем которых является текущий пользователь: |
projectsWhereUserHasPermission() | Найти заявки в проектах, в которых у текущего пользователя есть указанное право доступа | Project | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти заявки в статусе "In Progress" в проектах, в которых у текущего пользователя есть право доступа "Resolve Issues": |
projectsWhereUserHasRole() | Найти заявки в проектах, в которых у текущего пользователя есть указанная роль | Project | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти заявки в проектах, в которых у текущего пользователя есть указанное роль Developers: |
releasedVersions() | Список выпущенных версий указанного проекта. Если проект не указан, отображаются выпущенные версии всех проектов | AffectedVersion, FixVersion, custom fields of type Version | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти заявки, чьи FixVersion являются одной из выпущенных версий проекта ProjectName: |
standardIssueTypes() | Список стандартных типов заявок (не включает подзадачи). | Type | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти заявки только со стандартными типами: |
startOfDay(), | Начало текущего дня (месяца, недели, года). | Created, Due, Resolved, Updated, custom fields of type Date/Time | =, !=, >, >=, <, <=WAS*, WAS IN*, WAS NOT*, WAS NOT IN*, CHANGED** Только в предикате | ~, !~, IS, IS NOT, IN, NOT IN | Найти заявки, созданные с начала текущего дня: |
subtaskIssueTypes() | Список типов подзадач | Type | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти заявки с типами, которые соответствуют подзадачам: |
unreleasedVersions() | Список невыпущенных версий указанного проекта. Если проект не указан, отображаются невыпущенные версии всех проектов | AffectedVersion, FixVersion, custom fields of type Version | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти заявки, чья FixVersion является одной из невыпущенных версий проекта ProjectName: affectedVersion in unreleasedVersions(ProjectName) |
watchedIssues() | Список заявок, в которых текущий пользователь является наблюдателем | Issue | IN, NOT IN | =, !=, ~, !~, >, >=, <, <=, IS, IS NOT, WAS, WAS IN, WAS NOT, WAS NOT IN, CHANGED | Найти заявки, в которых текущий пользователь является наблюдателем: |
Функция | Описание | Пример |
---|---|---|
hasComments() | Возвращает список заявок с указанным количеством комментариев. Если количество комментариев не указано, список содержит заявки с хотя бы одним комментарием | Найти заявки с тремя комментариями: |
lastComment() | Возвращает список заявок, последний комментарий в которых добавлен в указанное время или указанной ролью | Найти заявки, последний комментарий в которых оставлен не участником с ролью Developers: |
lastUpdated() | Возвращает список заявок, последнее обновление которых выполнено сотрудником с указанной учетной записью (by), ролью (inRole) или группой (inGroup) | Найти заявки, которые последний раз были обновлены сотрудником с ролью Administrators: |
hasAttachments() | Возвращает список заявок с вложениями указанного типа
| Найти заявки с вложениями: |
fileAttached() | Возвращает список заявок с вложениями прикрепленными кем-то и в течение времени | Поиск заявок с вложениями, добавленными пользователем UserName в течение последних 4 недель: |
worklogged() | Возвращает список заявок с записями о проделанной работе, оставленными указанными пользователями в указанный промежуток времени | Поиск заявок с записью о проделанной работе пользователем TruVN на 30 января 2017 года: |
dateCompare() | Позволяет сравнивать две даты в рамках подзапроса | Найти все заявки, которые были решены позднее их срока: |
hasSubtasks() | Возвращает список заявок с подзадачами | Найти заявки с подзадачами: |
subtasksOF() | Возвращает список подзадач, удовлетворяющих запросу | Найти подзадачи в указанном проекте |
parentsOF() | Возвращает список родительских задач, удовлетворяющих запросу | Найти все родительские задачи, в которых текущий пользователь является ответственным открытой подзадачи: |
linkedIssuesFromQuery() | Возвращает список заявок, которые связаны указанным образом | Найти все заявки, слинкованные любой связью во всех заявках проекта ProjectName с типом Доработка: |
linkedIssuesOf() | Возвращает список заявок, связанных с указанными | Найти все нерешенные заявки, которые блокируются проблемами в статусе New: |
hasLinks() | Возвращает список заявок, у которых есть связи указанного типа | У задачи есть связи: |
expression() | Позволяет сравнивать значения полей в подзапросе | Найти заявки, где было зарегистрировано больше работы, чем первоначально предполагалось: |
issueFieldMatch() | Выполняет поиск с помощью регулярного выражения | Найти все заявки в проекте ProjectName, у которых описание содержит запись вида ABC0000, где 0000 - любое число: |
aggregateExpression() | Аггрегирует указанные данные | Подсчитать оценку на проект ProjectName: |
Оператор | Описание | Пример |
---|---|---|
= | Оператор "=" означает, что выбранное поле равно указанному значению. | Найти заявки, проект в которых ProjectName: |
!= | Оператор "!=" означает, что выбранное поле не равно указанному значению. | Найти заявки, в которых Исполнитель не Atlassian_User: |
> | Оператор ">" используется для поиска заявок, где значение указанного поля больше указанного значения. | Найти все просроченные заявки: |
>= | Оператор ">=" используется для поиска проблем, где значение указанного поля больше или равно указанному значению. | Найти все заявки, созданные в последние пять дней: |
< | Оператор "<" используется для поиска заявок, где значение указанного поля меньше указанного значения. | Найти все заявки, где приоритет ниже, чем "Высокий": |
<= | Оператор "<=" используется для поиска заявок, где значение указанного поля больше или равно указанному значению. | Найти все заявки, которые не были обновлены в прошлом месяце (30 дней): |
IN | Оператор "IN" используется для поиска заявок, где значение указанного поля является одним из нескольких заданных значений. Значения задаются в виде списка, разделенного запятыми, круглые скобки. | Найти заявки, входящие в несколько определённых проектов: |
NOT IN | Оператор "NOT IN" используется для поиска заявок, где значение указанного поля не является одним из нескольких заданных значений. | Найти заявки, в которых исполнителями являются все кроме указанных или поле Исполнитель пустое: |
~ | Оператор "~" используется для поиска проблем, где значение указанного поля соответствует заданному значению. Поиск осуществляется по текстовым полям (Summary, Description, Environment, Comments, пользовательские поля, которые используют поле для поиска текста). | Найти заявки, в тексте которых встречается фраза "необходимо разработать ТЗ": |
!~ | Оператор "!~" используется для поиска проблем, где значение указанного поля не соответствует заданному значению. Поиск осуществляется по текстовым полям. (Summary, Description, Environment, Comments, пользовательские поля, которые используют поле для поиска текста). | Найти в проекте ProjectName все заявки, в теме которых нет фразы: "бронь тестировщика": |
IS | Оператор "IS" может быть использован только c EMPTY или NULL. Т.е. указанное поле является пустым. | Найти в проекте ProjectName все заявки, в которых поле Заказчик пустое: |
IS NOT | Оператор "IS NOT" может быть использован только c EMPTY или NULL. Т.е. указанное поле имеет значение. | Найти в проекте ProjectName все заявки, в которых поле Заказчик заполнено: |
WAS | Оператор "WAS" используется для поиска заявок, в которых значение указанного поля соответствовало заданному значению.
| Найти все заявки, которые были переведены в статус Закрыт пользователем UserName до 01.01.2017г.: |
WAS IN | Оператор "WAS IN" используется для поиска заявок, в которых значение указанного поля являлось одним из нескольких заданных значений.
| Найти все заявки, которые были в статусах Закрыт и Готов пользователем UserName до 01.10.2016г.: |
WAS NOT IN | Оператор "WAS NOT IN" используется для поиска заявок, где значение указанного поля не являлось одним из нескольких заданных значений.
| Найти все заявки, которые не были в статусах Закрыт и Готов до 27.01.2017г.: |
WAS NOT | Оператор "WAS NOT" может быть использован только c EMPTY или NULL. Т.е. указанное поле имело значение.
| Найти все заявки, статус которых был не "Закрыт" после 30.01.2017г.: |
changed | Оператор "CHANGED" позволяет получить заявки, которые были изменены в соответствии с условием.
| Вывести все заявки, у которых был изменен статус с "Новый" на "Согласование" пользователем UserName после 01 января 2017 |
Спасибо! А следующие части были?
Я совсем забыл про статью и новый материал не выкладывал. Постараюсь найти время до конца сентября.
Подскажите а как можно сортировать список от новых к просмотренным, или как то выделить не просмотренные.
Recommended Learning For You
Level up your skills with Atlassian learning
Learning Path
Get started with Jira Software
New to Jira Software? These short, self-paced courses will teach you what you need to know to get up and running quickly.
The Beginner's Guide to Agile in Jira
Learn what agile, kanban, and scrum are and how agile works in Jira Software.
Realizing the Power of Jira Reporting and Dashboards
Use out-of-the box reporting and dashboard capabilities to view and assess progress and bottlenecks within projects.