Оператор в JQL - это один или несколько символов или слов, которые сравнивают значение поля слева от него с одним или несколькими значениями (или функциями) справа, так что только истинные результаты извлекаются в соответствии с этим предложением. Некоторые операторы могут использовать ключевое слово NOT.
Список операторов:
- EQUALS: =
- NOT EQUALS: !=
- GREATER THAN: >
- GREATER THAN EQUALS: >=
- LESS THAN: <
- LESS THAN EQUALS: <=
- IN
- NOT IN
- CONTAINS: ~
- DOES NOT CONTAIN: !~
- IS
- IS NOT
- WAS
- WAS IN
- WAS NOT IN
- WAS NOT
- CHANGED
EQUALS: = РАВНО
Оператор «=» используется для поиска задач, когда значение указанного поля точно соответствует указанному значению. (Примечание: нельзя использовать с текстовыми полями, вместо этого см. Оператор CONTAINS.)
Чтобы найти задачи, когда значение указанного поля точно соответствует нескольким значениям, используйте несколько операторов «=» с оператором AND.
ПРИМЕРЫ
- Найти все задачи, которые были созданы jsmith:
reporter = jsmith
- Найти все задачи, которые были созданы Джоном Смитом:
reporter = "John Smith"
НЕ РАВНО NOT EQUALS:! =
Оператор «! =» Используется для поиска задач, когда значение указанного поля не соответствует указанному значению. (Примечание: нельзя использовать с текстовыми полями, вместо этого см. Оператор DOES NOT MATCH ("! ~").)
Обратите внимание, что значение typing field! = Совпадает с типом NOT field = value, и это поле! = EMPTY совпадает с полем IS_NOT EMPTY.
Оператор «! =» Не будет соответствовать полю, которое не имеет значения (т. е. пустому полю). Например, компонент! = Fred будет соответствовать только тем вопросам, у которых есть компонент, а компонент не является «fred». Чтобы найти проблемы с компонентом, отличным от «fred» или не имеющим компонента, вам нужно будет ввести: component! = Fred или компонент пуст.
ПРИМЕРЫ
- Найти все задачи, которые назначены любому пользователю, кроме jsmith:
not assignee = jsmith
или:
assignee != jsmith
- Найти все задачи, не связанные с jsmith:
assignee != jsmith or assignee is empty
- Найти все задачи, о которых я сообщил, но не назначены мне:
reporter = currentUser() and assignee != currentUser()
- Найти все задачи, в которых Репортер или Правообладатель - это кто угодно, кроме Джона Смита:
assignee != "John Smith" or reporter != "John Smith"
- Найти все задачи, которые не назначены:
assignee is not empty
или
assignee != null
БОЛЬШЕ ЧЕМ GREATER THAN:>
Оператор «>» используется для поиска задач, когда значение указанного поля больше указанного значения. Не может использоваться с текстовыми полями. Обратите внимание, что оператор «>» может использоваться только с полями, которые поддерживают упорядочение (например, поля даты и поля версии). Чтобы увидеть поддерживаемые оператором поля, проверьте отдельную ссылку на поле.
ПРИМЕРЫ
- Найти все задачи с более чем 4 голосами:
votes > 4
- Найти все просроченные задачи:
duedate < now() and resolution is empty
- Найти все задачи, где приоритет выше, чем «Обычный»:
priority > normal
БОЛЬШЕ, ЧЕМ РАВНО:> =
Оператор «> =» используется для поиска задач, когда значение указанного поля больше или равно указанному значению. Не может использоваться с текстовыми полями. Обратите внимание, что оператор «> =» может использоваться только с полями, которые поддерживают упорядочение (например, поля даты и поля версии). Чтобы увидеть поддерживаемые оператором поля, проверьте отдельную ссылку на поле.
ПРИМЕРЫ
- Найти все задачи с 4 или более голосами:
votes >= 4
- Найти все задачи, возникшие после 31/12/2008:
duedate> = "2008/12/31"
- Найти все задачи, созданные за последние пять дней:
created> = "-5d"
МЕНЬШЕ LESS THAN: <
Оператор «<» используется для поиска задач, когда значение указанного поля меньше указанного значения. Не может использоваться с текстовыми полями.Обратите внимание, что оператор «<» может использоваться только с полями, которые поддерживают упорядочение (например, поля даты и поля версии). Чтобы увидеть поддерживаемые оператором поля, проверьте отдельную ссылку на поле.
ПРИМЕРЫ
- Найти все задачи с менее чем 4 голосами:
votes < 4
МЕНЬШЕ ЧЕМ РАВНО LESS THAN EQUALS: <=
Оператор <= "используется для поиска задач, где значение указанного поля меньше или равно заданному значению. Не может использоваться с текстовыми полями. Обратите внимание, что оператор <= "может использоваться только с полями, которые поддерживают упорядочение (например, поля даты и поля версии). Чтобы увидеть поддерживаемые оператором поля, проверьте отдельную ссылку на поле.
ПРИМЕРЫ
- Найти все задачи с 4 или менее голосами:
votes <= 4
- Найти все задачи, которые не были обновлены за последний месяц (30 дней):
updated <= "-4w 2d"
В IN
Оператор «IN» используется для поиска задач, когда значение указанного поля является одним из нескольких заданных значений. Значения указаны как список с разделителями-запятыми, окруженный скобками.
Использование «IN» эквивалентно использованию нескольких операторов EQUALS (=), но является более коротким и удобным. То есть, набрав репортера IN (tom, jane, harry), это то же самое, что и написание reporter = "tom" OR reporter = «jane» OR reporter = «harry».
ПРИМЕРЫ
- Найти все задачи, созданные jsmith или jbrown или jjones:
reporter in (jsmith,jbrown,jjones)
- Найти все задачи, в которых Репортер или Правообладатель либо Джек, либо Джилл:
reporter in (Jack,Jill) or assignee in (Jack,Jill)
- Найти все задачи в версии 3.14 или версии 4.2:
affectedVersion в ("3.14", "4.2")
НЕ В NOT IN
Оператор «NOT IN» используется для поиска задач, в которых значение указанного поля не является одним из нескольких заданных значений.
Использование «NOT IN» эквивалентно использованию нескольких операторов NOT_EQUALS (! =), но является более коротким и более удобным. То есть, набрав репортера NOT IN (tom, jane, harry), это то же самое, что и написание reporter != "tom" AND reporter != "jane" AND reporter != "harry".
Оператор «NOT IN» не будет соответствовать полю, которое не имеет значения (т. е. пустому полю). Например, assignee not in (jack,jill) будет отвечать только тем задачам, у которых есть правопреемник, а цессионарий не является «jack» или «jill». Чтобы найти запросы, назначенные кому-то, кроме «jack» или «jill», или не назначены, вам нужно будет ввести:
assignee not in (jack,jill) or assignee is empty.
ПРИМЕРЫ
- Найти все задачи, в которых Assignee - кто-то, кроме Джека, Джилл или Джона:
assignee not in (Jack,Jill,John)
- Найти все задачи, когда Assignee не Джек, Джилл или Джон:
assignee not in (Jack,Jill,John) or assignee is empty
- Найти все задачи, в которых FixVersion не является «A», «B», «C» или «D»:
FixVersion not in (A, B, C, D)
- Найти все задачи, в которых FixVersion не является «A», «B», «C» или «D», или не был указан:
FixVersion not in (A, B, C, D) or FixVersion is empty
СОДЕРЖИТ CONTAINS: ~
Оператор «~» используется для поиска задач, когда значение указанного поля соответствует указанному значению (точное совпадение или «нечеткое» совпадение - см. Примеры ниже). Для использования только с текстовыми полями, то есть:
Резюме
Описание
Окружающая среда
Комментарии
Настраиваемые поля, в которых используется «Free Text Searcher»; это включает настраиваемые поля следующих встроенных настраиваемых типов полей
Свободное текстовое поле (неограниченный текст)
Текстовое поле (<255 символов)
Текстовое поле только для чтения
Поле JQL «текст», как в тексте ~ «несколько слов», выполняет поиск «Резюме», «Описание», «Среда», «Комментарии». Он также ищет все текстовые поля. Если у вас много текстовых полей, вы можете повысить производительность своих задач, выполнив поиск по определенным полям, например.
Summary ~ "some words" OR Description ~ "some words"
Примечание: при использовании оператора «~» значение в правой части оператора можно указать с помощью синтаксиса текстового поиска JIRA.
ПРИМЕРЫ
- Найти все задачи, в которых в «Сводке» содержится слово «выиграть» (или простые производные от этого слова, например «выигрыши»):
summary ~ win
- Найти все задачи, в которых «Сводка» содержит совпадение дикой карты для слова «выиграть»:
summary ~ "win*"
- Найти все задачи, в которых в «Сводке» содержится слово «вопрос» и слово «коллекционер»:
summary ~ "issue collector"
- Найти все задачи, в которых в «Сводке» содержится точная фраза «полный экран» (см. Зарезервированные символы для получения информации о том, как избежать кавычек и других специальных символов):
summary ~ "\"full screen\""
НЕ СОДЕРЖИТ DOES NOT CONTAIN:! ~
Оператор «! ~» используется для поиска запросов, где значение указанного поля не является «нечетким» совпадением для указанного значения. Для использования только с текстовыми полями, то есть:
- Резюме
- Описание
- Окружающая среда
- Комментарии
- Настраиваемые поля, в которых используется «Free Text Searcher»; это включает настраиваемые поля следующих встроенных настраиваемых типов полей
- Свободное текстовое поле (неограниченный текст)
- Текстовое поле (<255 символов)
- Текстовое поле только для чтения
Поле JQL «текст», как в тексте ~ «несколько слов», выполняет поиск «Резюме», «Описание», «Среда», «Комментарии». Он также ищет все текстовые поля. Если у вас много текстовых полей, вы можете повысить производительность своих запросов(queries), выполнив поиск по определенным полям, например.
Summary ~ "some words" OR Description ~ "some words"
Примечание: при использовании оператора «! ~» Значение в правой части оператора можно указать с помощью синтаксиса текстового поиска JIRA.
ПРИМЕРЫ
- Найдите все задачи, в которых в Сводке не содержится слово «run» (или производные от этого слова, например «running» или «run»):
summary !~ run
ЯВЛЯЕТСЯ IS
Оператор «IS» может использоваться только с EMPTY или NULL. То есть он используется для поиска задач, когда указанное поле не имеет значения.
Обратите внимание, что не все поля совместимы с этим оператором; см. отдельную справочную информацию по полю.
ПРИМЕРЫ
- Найти все задачи, у которых нет Fix Version:
fixVersion is empty
или
fixVersion is null
НЕ ЯВЛЯЕТСЯ IS NOT
Оператор «IS NOT» может использоваться только с EMPTY или NULL. То есть он используется для поиска задач, когда указанное поле имеет значение.Обратите внимание, что не все поля совместимы с этим оператором; см. отдельную справочную информацию по полю.
ПРИМЕРЫ
- Найти все задачи, которые имеют один или несколько голосов:
votes is not empty
или
votes is not null
БЫЛ WAS
Оператор «WAS» используется для поиска задач, которые в настоящее время имеют или ранее имели указанное значение для указанного поля.
Этот оператор имеет следующие необязательные предикаты:AFTER "date"
BEFORE "date"
BY "username"
DURING ("date1","date2")
ON "date"
Этот оператор будет соответствовать имени значения (например, «Решено»), которое было настроено в вашей системе в то время, когда поле было изменено. Этот оператор также будет соответствовать идентификатору значения, связанному с этим именем значения, то есть он будет соответствовать «4», а также «Разрешено».
(Примечание. Этот оператор может использоваться только с полями Assignee, Fix Version, Priority, Reporter, Resolution и Status.)
ПРИМЕРЫ
- Найти задачи, которые в настоящее время имеют или ранее имели статус «Выполняется»:
status WAS "In Progress"
- Найдите задачи, которые разрешил Джо Смит до 2 февраля:
status WAS "Resolved" BY jsmith BEFORE "2011/02/02"
- Найдите задачи, разрешенные Джо Смитом в течение 2010 года:
status WAS "Resolved" BY jsmith DURING ("2010/01/01","2011/01/01")
БЫЛ В WAS IN
Оператор «WAS IN» используется для поиска задач, которые в настоящее время имеют или ранее имели любое из нескольких заданных значений для указанного поля. Значения указаны как список с разделителями-запятыми, окруженный скобками.
Использование «WAS IN» эквивалентно использованию нескольких операторов WAS, но короче и удобнее. То есть, тип ввода WAS IN («Решено», «Закрыто») совпадает с типом состояния WAS «Resolved» OR status WAS «Closed».
Этот оператор имеет следующие необязательные предикаты:
AFTER "date"
BEFORE "date"
BY "username"
DURING ("date1","date2")
ON "date"
Этот оператор будет соответствовать имени значения (например, «Решено»), которое было настроено в вашей системе в то время, когда поле было изменено. Этот оператор также будет соответствовать идентификатору значения, связанному с этим именем значения тоже, то есть он будет соответствовать «4», а также «Разрешен».
(Примечание. Этот оператор может использоваться только с полями Assignee, Fix Version, Priority, Reporter, Resolution и Status.)
ПРИМЕРЫ
- Найти все задачи, которые в настоящее время имеют или ранее имели статус «Разрешено» или «Выполняется»:
status WAS IN ("Resolved","In Progress")
НЕ БЫЛО В WAS NOT IN
Оператор «WAS NOT IN» используется для поиска задач, в которых значение указанного поля никогда не было одним из нескольких заданных значений.
Использование «WAS NOT IN» эквивалентно использованию нескольких операторов WAS_NOT, но короче и удобнее. То есть, тип ввода WAS NOT IN ("Resolved","In Progress") совпадает с типом статуса WAS NOT "Resolved" AND status WAS NOT "In Progress".
Этот оператор имеет следующие необязательные предикаты:
AFTER "date"
BEFORE "date"
BY "username"
DURING ("date1","date2")
ON "date"
Этот оператор будет соответствовать имени значения (например, «Решено»), которое было настроено в вашей системе в то время, когда поле было изменено. Этот оператор также будет соответствовать идентификатору значения, связанному с этим именем значения, то есть он будет соответствовать «4», а также «Разрешен».
(Примечание. Этот оператор может использоваться только с полями Assignee, Fix Version, Priority, Reporter, Resolution и Status.)
ПРИМЕРЫ
- Найти задачи, которые никогда не имели статуса «Решено» или «Выполнено»:
status WAS NOT IN ("Resolved","In Progress")
- Найдите задачи, которые не были в статусе «Решено» или «Выполнено» до 2 февраля:
status WAS NOT IN ("Resolved","In Progress") BEFORE "2011/02/02"
НЕ БЫЛО WAS NOT
Оператор «WAS NOT» используется для поиска задач, которые никогда не имели указанного значения для указанного поля.
Этот оператор имеет следующие необязательные предикаты:
AFTER "date"
BEFORE "date"
BY "username"
DURING ("date1","date2")
ON "date"
Этот оператор будет соответствовать имени значения (например, «Решено»), которое было настроено в вашей системе в то время, когда поле было изменено. Этот оператор также будет соответствовать идентификатору значения, связанному с этим именем значения, то есть он будет соответствовать «4», а также «Разрешен».
(Примечание. Этот оператор может использоваться только с полями Assignee, Fix Version, Priority, Reporter, Resolution и Status.)
ПРИМЕРЫ
- Найти задачи, которые не имеют и никогда не имели, статус «Выполняется»:
status WAS NOT "In Progress"
- Найдите задачи, которые не имели статуса «Выполняется» до 2 февраля:
status WAS NOT "In Progress" BEFORE "2011/02/02"
ИЗМЕНЕНО CHANGED
Оператор «CHANGED» используется для поиска задач, имеющих значение, которое изменилось для указанного поля. Этот оператор имеет следующие необязательные предикаты:
AFTER "date"
BEFORE "date"
BY "username"
DURING ("date1","date2")
ON "date"
FROM "oldvalue"(от старого значения)
TO "newvalue"(к новому значению)
(Примечание. Этот оператор может использоваться только с полями Assignee, Fix Version, Priority, Reporter, Resolution и Status.)
ПРИМЕРЫ
- Найти задачи, чей представитель изменен:
assignee CHANGED
- Найти задачи, статус которых изменился с «В процессе» до «Открыть»:
status CHANGED FROM "In Progress" TO "Open"
- Найти задачи, чей приоритет был изменен пользователем freddo после начала и до конца текущей недели.
priority CHANGED BY freddo BEFORE endOfWeek() AFTER startOfWeek()
По материалам Atlassian JIRA User's Guide: Advanced Searching - Operators Reference