Меню

Jira тест запроса данных об участии пользователей ошибка

This is pretty frustrating.

Have installed Jira Core 7.4.2 on Windows Server 2016

My intention is to create and Active Directory Sync that gets all users within an AD-group. But i get stuck on an error that my sync account cannot be found.

This is what i have filled in into the Configure LDAP User Directory page:

Directory Type: Microsoft Active Directory
Hostname: domaincontroller.domain.com (also tested netbiosname only)
Port: 389
Username: SVC-Jira-Sync@domain.com (also tested FQDN, ie CN=SVC-Jira-Sync,OU=etc etc)
Password: The password for SVC-Jira-Sync
Base DN: Tested both DC=Domain,DC=com and a more specific OU FQDN
LDAP Permission: Read Only

Left the rest default

When its time for testing the connection i fill in User name and Password for SVC-Jira-Sync (tested both UPN and FQDN) i get this:

Test basic connection : Succeeded
Test retrieve user : Failed

User <SVC-Jira-Sync> does not exist
The rest of the tests are not performed.

if i on the Jira server open Powershell and run:
Get-ADUser «CN=SVC-Jira-Sync,OU=etcetc» -Server <server specified>

I get the user back, also verified the the UPN is correct.

I dont have any spaces in my FQDNs

Whats next?

Инструкция  представленная здесь описывает, как определить и выполнить поиск, используя внутренний язык построения задач JIRA- JIRA Query Language (JQL) — похожий на язык SQL. Наряду с этим, вы также можете определить и выполнить поиск, используя быстрый поиск или используя основной поиск.

Что такое расширенный поиск?

Расширенный поиск позволяет использовать структурированные запросы (queries) для поиска задач проекта JIRA. Результаты поиска будут отображаться в Навигаторе задач, где вы можете экспортировать их в MS Excel и многие другие форматы. При желании, Вы также можете сохранить построенные задачи и оформить на них подписку.

Когда вы выполняете расширенный поиск, вы используете язык JIRA Query Language (JQL).

Простой  запрос в JQL (также известная как «предложение») состоит из поля, за которой следует оператор, за которым идут одно или несколько значений или функций. Например, следующий простой запрос найдет проекты  с текстом «ТЕСТ»:


project = "TEST"

 В этом примере используется поле Project, оператор EQUALS и значение «TEST». Помните, что с помощью  JQL сравнивать два поля невозможно.

JQL дает вам SQL-подобный синтаксис, такой как ключевое слово ORDER BY SQL и ISNULL () SQL (т. е. ключевое слово NULL в JQL). Однако JQL не является языком задач к базе данных. Например, JQL не имеет оператора SELECT.

Похожие темы:

  • Основной поиск
  • Использование быстрого поиска
  • Выполнение поиска текста
  • JQL: Самый гибкий способ поиска JIRA (в блоге Atlassian)

Как выполнить расширенный поиск

1. Выберите «Задачи»> «Поиск задач». Отобразится навигатор задач.

  • Если существуют критерии поиска, нажмите кнопку «Новый фильтр», чтобы сбросить критерии поиска.
  • Если отображается ссылка «Расширено», щелкните ее, чтобы перейти к расширенному поиску.

2. Введите запрос с помощью полей, операторов и значений полей или функций.

3. Нажмите кнопку «Поиск», чтобы запустить запрос.

Выполнение поиска текста

Вы можете использовать текстовые функции Lucene при выполнении поиска в следующих полях, используя оператор СONTAINS:

  • Резюме
  • Описание
  • Окружающая среда
  • Комментарии
  • Пользовательские поля, в которых используется «Free Text Searcher»; это включает настраиваемые поля следующих встроенных пользовательских типов полей

    •    Свободное текстовое поле (неограниченный текст)
    •    Текстовое поле (<255 символов)
    •    Текстовое поле только для чтения

Поле JQL «текст», как в тексте ~ «несколько слов», выполняет поиск «Резюме», «Описание», «Среда», «Комментарии». Он также ищет все текстовые поля. Если у вас много текстовых полей, вы можете повысить производительность своих задач, выполнив поиск по определенным полям, например.

Резюме ~ «несколько слов» ИЛИ Описание ~ «некоторые слова»

Summary ~ «some words» OR Description ~ «some words»

Для получения дополнительной информации, включая информацию о включении специальных символов в ваши поиски, см. страницу «Выполнение поиска текста».

Использование автоматического заполнения

Когда вы вводите свою  запрос (query), JIRA распознает контекст и предлагает список предложений «автозаполнения» следующим образом:

Список предложений автозаполнения отображается в алфавитном порядке и включает первые 15 совпадений. Обратите внимание, что для параметров функции не предлагаются предложения автозаполнения.

Переключение между «Расширенным» и «Простым» Поисками

В общем случае запрос, созданный с использованием «Простого поиска», может быть переведена в «Расширенный поиск» (т. е. JQL) и обратно.

Однако задача, созданная с использованием «Расширенный поиск», не может быть переведена в «Простой поиск», особенно если:

  • Задача содержит оператор OR (обратите внимание, что вы можете иметь оператор IN, и она будет переведена, например, проект в (A, B)) project in (A, B)) o   т. е. Хотя эта задача: (project = JRA OR project = CONF) эквивалентна этой                        задаче: (проект в (JRA, CONF)), будет переведен только вторая задача.
  • Запроссодержит оператор NOT
  • Запрос содержит оператор EMPTY
  • Запрос содержит любой из операторов сравнения:! =, IS, IS NOT,>,> =, <, <=
  • В запросе указывается поле и значение, связанное с проектом (например, версия, компонент, настраиваемые поля), и проект явно не включен в задачу (например, fixVersion = «4.0», без AND project = JRA). Это особенно сложно с настраиваемыми полями, поскольку они могут быть настроены на основе типа Проект / Задача. Общее правило заключается в том, что если задача не может быть создана в форме «Простой поиск», то, если он создан с использованием «Расширенный поиск», он не сможет быть переведен в «Простой поиск».

Настройка приоритета операторов

Вы можете использовать круглые скобки в сложных операторах JQL для обеспечения приоритета операторов.

Например, если вы хотите найти все разрешенные задачи в проекте SysAdmin, а также все задачи (любого статуса, любого проекта), назначенные в настоящее время системному администратору (bobsmith), вы можете использовать круглые скобки для обеспечения приоритета булевых операторов в Вашей задаче, то есть:


(status=resolved AND project=SysAdmin) OR assignee=bobsmith

Обратите внимание: если вы не используете круглые скобки, оператор будет оцениваться слева направо.

Вы также можете использовать круглые скобки для групповых предложений, чтобы вы могли применить оператор NOT к группе.

Ссылка на ключевые слова

Ключевое слово в JQL — это слово или фраза, которая делает (или является) любое из следующего:

  • Объединяет два или более предложения вместе для формирования сложной JQL-задачи
  • Изменяет логику одного или нескольких условий
  • Изменяет логику операторов
  • Имеет явное определение в задаче JQL
  • Выполняет определенную функцию, которая изменяет результаты задачи JQL.

Список ключевых слов:

  • AND
  • OR
  • NOT
  • EMPTY
  • NULL
  • ORDER BY

AND

Используется для объединения нескольких предложений, что позволяет уточнить ваш поиск. Обратите внимание, что вы можете использовать круглые скобки для управления порядком, в котором выполняются предложения.

ПРИМЕРЫ

  • Найти все открытые проблемы в проекте «Новый офис»:

Project = "Новый офис" и статус = "открытый"
project = "New office" and status = "open"

  • Найти все открытые, срочные задачи, которые заданы для jsmith:

Статус = открытый и приоритет = срочный и Правопреемник  = jsmith
 status = open and priority = urgent and assignee = jsmith

  • Найти все задачи в конкретном проекте, которые не назначены jsmith:

Project = JRA и правопреемник! = Jsmith
project = JRA and assignee != jsmith

  • Найти все задачи для конкретной версии, которая состоит из разных номеров версий в нескольких проектах:

Проект в (JRA, CONF) и fixVersion = "3.14"
project in (JRA,CONF) and fixVersion = "3.14"

  • Найти все задачи, в которых ни Репортер, ни Правопреемник не Джек, Джилл или Джон:

Репортер не в (Джек, Джилл, Джон) и Правопреемник не в (Джек, Джилл, Джон)
reporter not in (Jack,Jill,John) and assignee not in (Jack,Jill,John)

ИЛИ OR

Используется для объединения нескольких предложений, что позволяет расширить поиск.

Обратите внимание, что вы можете использовать круглые скобки для управления порядком, в котором выполняются предложения.

(Примечание: также см. IN, что может быть более удобным способом поиска нескольких значений поля.)

ПРИМЕРЫ

  • Найти все проблемы, созданные jsmith или jbrown:

Репортер = jsmith или репортер = jbrown
репортер = jsmith или репортер = jbrown

  • Найти все проблемы, которые были просрочены или где не установлен срок оплаты:

now() or duedate is empty

НЕ NOT

Используется для отрицания отдельных предложений или сложного JQL-запроса (запроса, состоящего из более чем одного предложения) с использованием круглых скобок, что позволяет уточнить ваш поиск.

(Примечание: также см. не равен («! =»), НЕ СОДЕРЖИТ («! ~»), НЕ ВХОДИТ И НЕ.). ( DOES NOT CONTAIN («!~»), NOT IN and IS NOT.))

ПРИМЕРЫ

  • Найти все проблемы, назначенные любому пользователю, кроме jsmith:

Не правопреемник = jsmith
not assignee = jsmith

  • Найти все проблемы, которые не были созданы ни jsmith, ни jbrown:

Не (репортер = jsmith или репортер = jbrown)
not (reporter = jsmith or reporter = jbrown)

EMPTY

Используется для поиска проблем, когда заданное поле не имеет значения. См. также NULL.

Обратите внимание: EMPTY может использоваться только с полями, поддерживающими операторы IS и IS NOT. Чтобы увидеть поддерживаемые оператором поля, проверьте отдельную ссылку на поле.

(Предупреждение) EMPTY не эквивалентно NOT EQUALS (! =)

ПРИМЕРЫ

  • Найти все задачи без  срока (DueDate):

duedate = empty
или
 duedate is empty

НОЛЬ NULL

Используется для поиска задач, когда заданное поле не имеет значения. См. Также EMPTY ПУСТОЙ.

Обратите внимание: NULL может использоваться только с полями, поддерживающими операторы IS и IS NOT. Чтобы увидеть поддерживаемые оператором поля, проверьте отдельную ссылку на поле.

ПРИМЕРЫ

  • Найти все проблемы без DueDate:

 duedate = null
 или
 duedate is null

СОРТИРОВАТЬ ПО ORDER BY

Используется для указания полей, значения которых будут отсортированы по результатам поиска. По умолчанию будет использоваться собственный порядок сортировки поля. Вы можете переопределить это, указав восходящий порядок («asc») или убывающий порядок («desc»).

ПРИМЕРЫ

  • Найти все задачи без DueDate, отсортированные по CreationDate:

duedate = empty order by created

  • Найти все задачи без DueDate, отсортированные по CreationDate, затем по приоритету (от самого высокого до самого низкого):

duedate = empty order by created, priority desc

  • Найти все задачи без DueDate, отсортированные по CreationDate, затем по приоритету (от самого низкого до самого высокого):

duedate = empty order by created, priority asc

Справочник по операторам

Оператор в 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:

Репортер = jsmith
reporter = jsmith

  • Найти  все задачи, которые были созданы Джоном Смитом:

Репортер = "Джон Смит"
reporter = "John Smith"

НЕ РАВНО:! = NOT EQUALS: !=

Оператор «! =» Используется для поиска задач, когда значение указанного поля не соответствует указанному значению. (Примечание: не может использоваться с текстовыми полями, вместо этого см. Оператор DOES NOT MATCH («! ~»).)

Обратите внимание, что поле ! = Значение совпадает с типом NOT field = value, и это поле! = ПУСТОЕ совпадает с полем  IS NOT  EMPTY НЕ ПУСТОЕ .

Оператор «! =» Не будет соответствовать полю, которое не имеет значения (т. е. пустому полю). Например, component != fred компонент! = Fred будет соответствовать только тем, у которых есть компонент, а компонент не является «fred». Чтобы найти задачи с компонентом, отличным от «fred» или не имеющим компонента, вам нужно будет ввести: component != fred or component is empty.(component! = Fred или компонент пуст).

ПРИМЕРЫ

  • Найти все задачи, назначенные любому пользователю, кроме jsmith:

Не правопреемник = jsmith
 not assignee = jsmith
 или:

правопреемник! = Jsmith assignee != jsmith

  • Найти все задачи, не связанные с jsmith:

правопреемник ! = Jsmith или правопреемник пуст
assignee != jsmith or assignee is empty

  • Найти все задачи, о которых я сообщил, но не назначенных мне:

Репортер = текущий пользователь () и правопреемник! = CurrentUser()
reporter = currentUser() and assignee != currentUser()

  • Найти все задачи, в которых Репортер или Правообладатель — это кто-то кроме Джона Смита:

правопреемник ! = «Джон Смит» или репортер! = «Джон Смит»
assignee != "John Smith" or reporter != "John Smith"

  • Найти все задачи, которые не назначены:

правопреемник не пуст
assignee is not empty
или
правопреемник ! = Null
assignee != null

БОЛЬШЕ ЧЕМ:> GREATER THAN: >

Оператор «>» используется для поиска задач, где значение указанного поля больше указанного значения. Не может использоваться с текстовыми полями.

Обратите внимание, что оператор «>» может использоваться только с полями, которые поддерживают упорядочение (например, поля даты и поля версии). Чтобы увидеть поддерживаемые оператором поля, проверьте отдельную ссылку на поле.

ПРИМЕРЫ

  • Найти все задачи с более чем 4 голосами:

Голосов> 4
votes > 4

  • Найти все просроченные задачи:

Duedate <now () и разрешение пустое
 duedate < now() and resolution is empty

  • Найти все задачи, где приоритет выше, чем «Обычный»:

Приоритет> нормальный
 priority > normal

БОЛЬШЕ, ЧЕМ РАВНО:> = GREATER THAN EQUALS: >=

Оператор «> =» используется для поиска задач, где значение указанного поля больше или равно указанному значению. Не может использоваться с текстовыми полями. Обратите внимание, что оператор «> =» может использоваться только с полями, которые поддерживают упорядочение (например, поля даты и поля версии). Чтобы увидеть поддерживаемые оператором поля, проверьте отдельную ссылку на поле.

ПРИМЕРЫ

  • Найти все задачи с 4 или более голосами:

Голосов> = 4
votes >= 4

  • Найти все задачи, возникшие после 31/12/2008:

Duedate> = "2008/12/31"

  • Найти все задачи, созданные за последние пять дней:

Created> = "-5d"

МЕНЬШЕ: < LESS THAN: <

Оператор «<» используется для поиска задач, в которых значение указанного поля меньше указанного значения. Не может использоваться с текстовыми полями.

Обратите внимание, что оператор «<» может использоваться только с полями, которые поддерживают упорядочение (например, поля даты и поля версии). Чтобы увидеть поддерживаемые оператором поля, проверьте отдельную ссылку на поле.

ПРИМЕРЫ

  • Найти все задачи с менее чем 4 голосами:

Голосов <4
votes < 4

МЕНЬШЕ ЧЕМ  РАВНО: <= LESS THAN EQUALS: <=

Оператор <= «используется для поиска задач, в которых значение указанного поля меньше или равно указанному значению. Не может использоваться с текстовыми полями.

Обратите внимание, что оператор <= «может использоваться только с полями, которые поддерживают упорядочение (например, поля даты и поля версии). Чтобы увидеть поддерживаемые оператором поля, проверьте отдельную ссылку на поле.

ПРИМЕРЫ

  • Найти все задачи с 4 или менее голосами:

Голосов <= 4
votes <= 4

  • Найти все задачи, которые не были обновлены за последний месяц (30 дней):

Обновлено <= "-4w 2d"
updated <= "-4w 2d"

В IN

Оператор «IN» используется для поиска задач, когда значение указанного поля является одним из нескольких заданных значений. Значения указываются как список с разделителями-запятыми, окруженный скобками.

Использование «IN» эквивалентно использованию нескольких операторов РАВНО EQUALS (=), но короче и удобнее. То есть, набрав репортера IN (tom, jane, harry), это то же самое, что и набирание репортер= «tom» ИЛИ репортер = «jane» ИЛИ репортер = «harry»(reporter = "tom" OR reporter = "jane" OR reporter = "harry".).

ПРИМЕРЫ

  • Найти все задачи, созданные jsmith или jbrown или jjones:

Репортер в (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), это то же самое, что и написание репортера! = «Tom» AND репортер! = «Jane» AND репортер! = «Harry».

Оператор «NOT IN» не будет соответствовать полю, которое не имеет значения (т. е. пустому полю). Например, правопреемник не в (jack, jill) будет отвечать только тем вопросам, которые имеют правопреемник, а правопреемник не является «jack» или «jill». Чтобы найти задачи, назначенные кому-то, кроме «джек» или «джилл», или не назначены, вам нужно будет ввести: правопреемник  не в (jack, jill) или правопреемник пуст(assignee not in (jack,jill) or assignee is empty).

ПРИМЕРЫ

  • Найти  все задачи, в которых правопреемник — кто-то, кроме Джека, Джилл или Джона:

правопреемник не в (Джек, Джилл, Джон)
assignee not in (Jack,Jill,John)

  • Найти все проблемы, в которых Assignee не Джек, Джилл или Джон:

правопреемник не в (Джек, Джилл, Джон) или правориемник пуст
assignee not in (Jack,Jill,John) or assignee is empty

  • Найти все задачи, в которых FixVersion не является «A», «B», «C» или «D»:

FixVersion не в (A, B, C, D)
FixVersion not in (A, B, C, D)

  • Найти все задачи, в которых FixVersion не является «A», «B», «C» или «D» или не был указан:

FixVersion не в (A, B, C, D) или FixVersion пуст
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: !~

Оператор «! ~» Используется для поиска задач, где значение указанного поля не является «нечетким» совпадением для указанного значения. Только для текстовых полей, т. е.:

  • Резюме
  • Описание
  • Окружающая среда
  • Комментарии
  • Пользовательские поля, в которых используется «Свободный Текстовый Искатель»; Это включает пользовательские поля следующих встроенных пользовательских типов полей

    •    Свободное текстовое поле (неограниченный текст)
    •    Текстовое поле (<255 символов)
    •    Текстовое поле только для чтения

Поле JQL «текст», как в тексте ~ «несколько слов», выполняет поиск «Резюме», «Описание», «Среда», «Комментарии». Он также ищет все текстовые поля. Если у вас много текстовых полей, вы можете повысить производительность своих запросов, выполнив поиск по определенным полям, например.

Резюме ~ «несколько слов» ИЛИ Описание ~ «некоторые слова»

Summary ~ «some words» OR Description ~ «some words»

Оператор «! ~» не будет соответствовать полю, которое не имеет значения (т. е. пустому полю). Например, описание! = Fred будет соответствовать только тем задачам, у которых есть описание, а описание не является «fred». Чтобы найти задачи, которые имеют описание, отличное от «fred» или не имеют описания, вам нужно будет ввести: description! = Fred или пустое description.

Примечание: при использовании оператора «! ~» значение в правой части оператора можно указать с помощью синтаксиса текстового поиска JIRA.

ПРИМЕРЫ

  • Найти все задачи, в которых в резюме не содержится слово «run» (или производные от этого слова, например «running» или «run»):

Резюме! ~ запуск
summary !~ run

ЯВЛЯЕТСЯ IS

Оператор «IS» может использоваться только с EMPTY ПУСТО или NULL. То есть он используется для поиска задач, когда указанное поле не имеет значения.

Обратите внимание, что не все поля совместимы с этим оператором; см. отдельную справочную информацию по полю.

ПРИМЕРЫ

  • Найти все задачи, у которых нет Fix Version:

FixVersion пуста
 fixVersion is empty
или
FixVersion – null
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»
  • В ТЕЧЕНИЕ («дата1», «дата2») DURING («date1″,»date2»)
  • В назначенную дату» ON «date»

Этот оператор будет соответствовать имени значения (например, «Решено»), которое было настроено в вашей системе в то время, когда поле было изменено. Этот оператор также будет соответствовать идентификатору значения, связанному с этим именем значения, то есть он будет соответствовать «4», а также «Разрешен».

(Примечание. Этот оператор может использоваться только с полями Assignee, Fix Version, Priority, Reporter, Resolution и Status.)

ПРИМЕРЫ

  • Найти задачи, которые в настоящее время имеют или ранее имели статус «Выполняется»:

Статус БЫЛ «Выполняется (В разработке)
status WAS "In Progress"

  • Найти задачи, которые разрешил Джо Смит до 2 февраля:

Статус БЫЛ «РЕШЕННЫМ» Джо Смитом ДО «2011/02/02»
status WAS "Resolved" BY jsmith BEFORE "2011/02/02"

  • Найти задачи, которые были разрешены Джо Смитом в 2010 году:

Статус БЫЛ «РЕШЕННЫМ» Джо Смитом В ТЕЧЕНИЕ   («2010/01/01», «2011/01/01»)
status WAS "Resolved" BY jsmith DURING ("2010/01/01","2011/01/01")

БЫЛ В WAS IN

Оператор «WAS IN» используется для поиска задач, которые в настоящее время имеют или ранее имели любое из нескольких заданных значений для указанного поля. Значения указываются как список с разделителями-запятыми, окруженный скобками.

Использование «WAS IN» эквивалентно использованию нескольких операторов WAS, но короче и удобнее. То есть, тип ввода WAS IN («Решено», «Закрыто») совпадает с типизированным статусом. «Устранено» ИЛИ «Состояние» WAS «Закрыто».

Этот оператор имеет следующие необязательные предикаты:

  • ПОСЛЕ «даты» AFTER «date»
  • ПЕРЕД «датой» BEFORE «date»
  • ПО «Имени пользователя» BY «username»
  • В ТЕЧЕНИЕ («дата1», «дата2») 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, но короче и удобнее. То есть, тип ввода НЕ ВХОДИТ («Решено», «Выполняется (Продолжено)») совпадает с типом состояния НЕ БЫЛО «Решено» И НЕ БЫЛО «Продолжено».

Этот оператор имеет следующие необязательные предикаты:

  • ПОСЛЕ «даты» AFTER «date»
  • ПЕРЕД «датой» BEFORE «date»
  • ПО «Имени пользователя» BY «username»
  • В ТЕЧЕНИЕ («дата1», «дата2») DURING («date1″,»date2»)
  • В назначенную «дату» ON «date»

Этот оператор будет соответствовать имени значения (например, «Решено»), которое было настроено в вашей системе в то время, когда поле было изменено. Этот оператор также будет соответствовать идентификатору значения, связанному с этим именем значения, то есть он будет соответствовать «4», а также «Разрешен».

(Примечание. Этот оператор может использоваться только с полями Assignee, Fix Version, Priority, Reporter, Resolution и Status.)

ПРИМЕРЫ

  • Найти задачи, которые никогда не имели статуса «Решено» или «Выполняется»:

Статус не был в («Решено», «Выполняется»)
status WAS NOT IN ("Resolved","In Progress")

  • Найдите задачи, у которых не было статуса «Решено» или «Выполняется»  до 2 февраля:

Статус НЕ БЫЛ В («Решено», «Выполняется») ДО «2011/02/02»
status WAS NOT IN ("Resolved","In Progress") BEFORE "2011/02/02"

НЕ БЫЛО WAS NOT

Оператор «WAS NOT» используется для поиска запросов, которые никогда не имели указанного значения для указанного поля.

Этот оператор имеет следующие необязательные предикаты:

  • ПОСЛЕ «даты» AFTER «date»
  • ПЕРЕД «датой» BEFORE «date»
  • ПО «Имени пользователя» BY «username»
  • В ТЕЧЕНИЕ («дата1», «дата2») DURING («date1″,»date2»)
  • В назначенную «дату» ON «date»

Этот оператор будет соответствовать имени значения (например, «Решено»), которое было настроено в вашей системе в то время, когда поле было изменено. Этот оператор также будет соответствовать идентификатору значения, связанному с этим именем значения, то есть он будет соответствовать «4», а также «Разрешен».

(Примечание. Этот оператор может использоваться только с полями Assignee, Fix Version, Priority, Reporter, Resolution и Status.)

ПРИМЕРЫ

  • Найти задачи, которые не имеют и никогда не имели статуса «Выполняется»:

Статус НЕ БЫЛ В "ВЫПОЛНЯЕТСЯ"
status WAS NOT "In Progress"

  • Найдите задачи, у которых не было статуса «Выполняется» до 2 февраля:

Статус НЕ БЫЛ В "ВЫПОЛНЯЕТСЯ"  ПЕРЕД «2011/02/02»
status WAS NOT "In Progress" BEFORE "2011/02/02"

ИЗМЕНЕННОЕ CHANGED

Оператор «CHANGED» используется для поиска задач, имеющих значение, которое было изменено для указанного поля.

Этот оператор имеет следующие необязательные предикаты:

  • ПОСЛЕ «даты» AFTER «date»
  • ПЕРЕД «датой» BEFORE «date»
  • ПО «Имени пользователя» BY «username»
  • В ТЕЧЕНИЕ («дата1», «дата2») 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» после начала и до конца текущей недели.

Приоритет ИЗМЕНЕННОЕ freddo ДО endOfWeek () ПОСЛЕ startOfWeek ()
priority CHANGED BY freddo BEFORE endOfWeek() AFTER startOfWeek(

Ссылка на поля

Поле в JQL — это слово, представляющее поле JIRA (или пользовательское поле, которое уже определено в JIRA). В предложении за полем следует оператор, который, в свою очередь, сопровождается одним или несколькими значениями (или функциями). Оператор сравнивает значение поля с одним или несколькими значениями или функциями справа, так что только предложение возвращает только истинные результаты.

Список полей:

  • Затронутая версия
  • правопреемник
  • Вложения
  • категория
  • Комментарий
  • Компонент
  • созданное
  • создатель
  • Пользовательское поле
  • Описание
  • В соответствии
  • Окружающая среда
  • Эпическая ссылка
  • Фильтр
  • Исправленная версия
  • Ключ задачи
  • последнее просмотренное
  • уровень
  • Оригинальная оценка
  • родитель
  • приоритет
  • проект
  • Оставшаяся оценка
  • репортер
  • разрешение
  • Разрешены
  • Спринт
  • Статус
  • Резюме
  • Текст
  • Тип
  • Время потрачено
  • обновлено
  • Избиратель
  • Голоса
  • наблюдатель
  • наблюдатели
  • Автор рабочего журнала
  • Комментарий рабочего журнала
  • Дата регистрации работы
  • Коэффициент работы

Затронутая версия

Поиск задач, которые назначаются конкретной затронутой версии (иям). Вы можете выполнить поиск по имени версии или идентификатору версии (то есть номер, который JIRA автоматически присваивает версии).

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

affectedVersion

ТИП ПОЛЯ

ВЕРСИЯ

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= да
!= да
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

Обратите внимание, что операторы сравнения (например, «>») используют порядок версий, который был настроен вашим администратором проекта, а не числовой или алфавитный порядок.

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с операторами IN и NOT IN это поле поддерживает: releasedVersions ()

latestReleasedVersion ()

unreleasedVersions ()

earliestUnreleasedVersion ()

versionMatch ()

ПРИМЕРЫ

  • Найти задачи с AffectedVersion 3.14:

AffectedVersion = "3.14"

(Обратите внимание, что полные остановки являются зарезервированными символами, поэтому их нужно окружать кавычками

  • Найти задачи с AffectedVersion «Big Ted»:

AffectedVersion = "Большой Тед"

  • Найти задачи с идентификатором AffectedVersion 10350:

AffectedVersion = 10350

Правопреемник

Поиск задач, назначенных конкретному пользователю. Вы можете выполнить поиск по полному имени, идентификатору или адресу электронной почты пользователя.

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

Правопреемник assignee

ТИП ПОЛЯ

Пользователь

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS есть
WAS IN есть
WAS NOT есть
WAS NOT IN есть
CHANGED есть

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с операторами IN и NOT IN это поле поддерживает:

  • Члены() membersOf()

При использовании с операторами РАВНО EQUALS: = и НЕ РАВНО NOT EQUALS: != это поле поддерживает:

  • текущий пользователь() currentUser()

ПРИМЕРЫ

  • Найти задачи, которые назначены Джону Смиту:

Представитель = "Джон Смит"
assignee = "John Smith"
или
Представитель = jsmith
assignee = jsmith

  • Найти задачи, которые в настоящее время назначены или были назначены ранее Джону Смиту:

Представитель  БЫЛ  "Джон Смит"
assignee WAS "John Smith"
или
 Представитель БЫЛ  jsmith
assignee WAS jsmith

  • Найдите задачи, назначенные пользователем с адресом электронной почты «bob@mycompany.com»:

Представитель = bob@mycompany.com
assignee = "bob@mycompany.com"

 (Обратите внимание, что символы полной остановки и «@» являются зарезервированными символами, поэтому адрес электронной почты должен быть окружен кавычками.)

Вложения

Поиск запросов, имеющих или не имеющих вложений. Для этого поля вы можете использовать только операторы ПУСТО EMPTY или ПУСТО.

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

Вложения attachments

ТИП ПОЛЯ

ВЛОЖЕНИЕ ATTACHMENT

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= нет
!= нет
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN нет
NOT IN нет
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

Не одной

ПРИМЕРЫ

  • Поиск задач, имеющих вложения

Вложения НЕ являющиеся ПУСТЫМИ
attachments IS NOT EMPTY

  • Поиск задач, не имеющих вложений

Вложения являющиеся ПУСТЫМИ
attachments IS EMPTY

Категория

Поиск задач, относящихся к проектам в определенной категории.

Примечание. Это поле поддерживает  автозаполнение.

СИНТАКСИС

Категория category

ТИП ПОЛЯ

КАТЕГОРИЯ CATEGORY

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

нет

ПРИМЕРЫ

  • Найти задачи, относящиеся к проектам в категории проектов алфавита :

Категория = "Проекты по  алфавиту"
category = "Alphabet Projects"

Комментарий

Найти задачи, содержащие комментарий, содержащий конкретный текст.

Можно использовать синтаксис текстового поиска JIRA.

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

Комментарий comment

ТИП ПОЛЯ

ТЕКСТ TEXT

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= нет
!= нет
~ есть
!~ есть
> нет
>= нет
< нет
<= нет
IS нет
IS NOT нет
IN нет
NOT IN нет
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

нет

ПРИМЕРЫ

  • Найти задачи, в которых комментарий содержит текст, соответствующий «Мой компьютер довольно старый» (т. е. «нечеткое» совпадение:

Комментарий ~ «Мой компьютер довольно старый»
comment ~ "My PC is quite old"

  • Найти задачи, в которых в комментарии содержится точная фраза «Мой компьютер довольно старый»:

Комментарий ~ "" Мой компьютер довольно старый  ""
comment ~ ""My PC is quite old""

Компонент Component

Поиск задач, относящихся к определенному компоненту (-ам) проекта. Вы можете выполнить поиск по имени компонента или идентификатору компонента (т. е. Номер, который JIRA автоматически назначает компоненту).

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

Компонент component

ТИП ПОЛЯ

КОМПОНЕНТ COMPONENT

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с операторами IN и NOT IN компонент поддерживает:

·         componentsLeadByUser ()

ПРИМЕРЫ

  • Найти задачи в компоненте «Comp1» или «Comp2»:

Компонент в (Comp1, Comp2)
component in (Comp1, Comp2)

  • Найти задачи в компонентах «Comp1» и «Comp2»:

Компонент в (Comp1) и компонент в (Comp2)
component in (Comp1) and component in (Comp2)
или
Компонент = Comp1 и компонент = Comp2
component = Comp1 and component = Comp2

  • Найти в компоненте задачи с ID 20500:

Компонент = 20500
component = 20500

Создано Created

Поиск задач, которые были созданы до или после определенной даты (или диапазона дат). Обратите внимание, что если компонент времени не указан, предполагается принятие полночи 00:00. Обратите внимание, что результаты поиска будут относиться к вашему настроенному часовому поясу (который по умолчанию является часовым поясом сервера JIRA).

Используйте один из следующих форматов:

"yyyy/MM/dd HH:mm"
"yyyy-MM-dd HH:mm"
"yyyy/MM/dd"
"yyyy-MM-dd"

Или используйте «w» (недели), «d» (дни), «h» (часы) или «m» (минуты), чтобы указать дату относительно текущего времени. Значение по умолчанию — «m» (минуты). Обязательно используйте кавычки («), если вы опускаете кавычки, количество, которое вы поставите, будет интерпретироваться как миллисекунды после эпохи (1970-1-1).

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

Создано created

Псевдоним:

Дата создания createdDate

ТИП ПОЛЯ

ДАТА DATE

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT нет
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с РАВНО EQUALS: =, НЕ РАВНО NOT EQUALS: !=, БОЛЬШЕ ЧЕМ GREATER THAN: >, БОЛЬШЕ, ЧЕМ РАВНО GREATER THAN EQUALS: >=, МЕНЬШЕ LESS THAN: < , МЕНЬШЕ, ЧЕМ РАВНО LESS THAN EQUALS: <=  операторами, это поле поддерживает:

  • текущий логин ()
  • последний  логин ()
  • Теперь()
  • начало дня ()
  • начало недели ()
  • начало месяца ()
  • начало года()
  • конец дня()
  • конец недели ()
  • конец месяца()
  • конец года()
  • currentLogin()
  • lastLogin()
  • now()
  • startOfDay()
  • startOfWeek()
  • startOfMonth()
  • startOfYear()
  • endOfDay()
  • endOfWeek()
  • endOfMonth()
  • endOfYear()

ПРИМЕРЫ

  • Найти все задачи, созданные до полуночи 00:00 12 декабря 2010 года:

Создано <"2010/12/12"
created < "2010/12/12"

  • Найти все задачи, созданные до 12 декабря 2010 года (но не 13 декабря 2010 года):

Создано <= "2010/12/13"
created <= "2010/12/13"

  • Найти все задачи, созданные 12 декабря 2010 года до 14:00:

Создано> "2010/12/12" и создано <"2010/12/12 14:00"
created > "2010/12/12" and created < "2010/12/12 14:00"

  • Найти задачи, созданные менее одного дня назад:

Создано> "-1d"
created > "-1d"

  • Найти  задачи, созданные в январе 2011 года:

Создано> "2011/01/01" и создано <"2011/02/01"
created > "2011/01/01" and created < "2011/02/01"

  • Найти  задачи, возникшие 15 января 2011 года:

Создано> "2011/01/15" и создано <"2011/01/16"
created > "2011/01/15" and created < "2011/01/16"

Создатель Creator

Поиск запросов, которые были созданы определенным пользователем.

Вы можете выполнить поиск по полному имени, идентификатору или адресу электронной почты пользователя.

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

Создатель creator

ТИП ПОЛЯ

ПОЛЬЗОВАТЕЛЬ  USER

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS есть
WAS IN есть
WAS NOT есть
WAS NOT IN есть
CHANGED есть

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с операторами IN и NOT IN это поле поддерживает:

  • Члены() membersOf()

При использовании с операторами РАВНО и НЕ РАВНО  это поле поддерживает:

  • текущий пользователь() currentUser()

ПРИМЕРЫ

  • Поиск запросов, которые были созданы Джилл Джонс:

Создатель = "Джилл Джонс"
creator = "Jill Jones"
 или
creator = jjones

  • Поиск запросов, которые были созданы пользователем с адресом электронной почты «bob@mycompany.com»:

Создатель = bob@mycompany.com
creator = "bob@mycompany.com"

 (Обратите внимание, что символы полной остановки и «@» являются зарезервированными символами, поэтому адрес электронной почты должен быть окружен кавычками.)

Пользовательское поле

Может применяться только в том случае, если администратор JIRA создал одно или несколько пользовательских полей.

Поиск задач, в которых особое пользовательское поле имеет определенное значение.

Вы можете выполнить поиск по имени пользовательского поля или пользовательскому идентификатору поля (т. е. номер, который JIRA автоматически назначает настраиваемому полю).

Заметка: Синтаксис текстового поиска JIRA может использоваться с пользовательскими полями типа «Текст». Автозаполнение поддерживается для пользовательских полей выбора типа, выбора группы, выбора, флажка и полей радиокнопки.

СИНТАКСИС

CustomFieldName

Псевдоним:

cf[CustomFieldID]

ТИП ПОЛЯ

Зависит от конфигурации пользовательского поля

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Различные типы пользовательских полей поддерживают разные операторы. Для стандартных типов полей по умолчанию поддерживаются следующие операторы:

  • Поля чисел и даты / времени:

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS нет
IS NOT нет
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет
  • Подбор, выбор, флажок и поля переключателя:

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет
  • Текстовые поля

Оператор Поддержка
= нет
!= нет
~ есть
!~ есть
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN нет
NOT IN нет
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

Различные типы пользовательских полей поддерживают разные функции. Для стандартных типов полей по умолчанию поддерживаются следующие функции:

  •  Поля даты / времени:

При использовании с РАВНО EQUALS: =, НЕ РАВНО NOT EQUALS: !=, БОЛЬШЕ ЧЕМ GREATER THAN: >, БОЛЬШЕ, ЧЕМ РАВНО GREATER THAN EQUALS: >=, МЕНЬШЕ LESS THAN: < , МЕНЬШЕ, ЧЕМ РАВНО LESS THAN EQUALS: <=  операторами, это поле поддерживает:

  •    текущий логин() currentLogin()
  •    последний логин() lastLogin()
  •    Теперь() now()
  •    начало дня() startOfDay()
  •    начало недели () startOfWeek()
  •    начало месяца () startOfMonth()
  •    начало года () startOfYear()
  •    конец дня() endOfDay()
  •    конец недели() endOfWeek()
  •    конец месяца() endOfMonth()
  •    конец года() endOfYear()   Поля выбора версии:
  • При использовании с операторами IN и NOT IN это поле поддерживает:
  •    releasedVersions ()
  •    latestReleasedVersion ()
  •    unreleasedVersions ()
  •    earliestUnreleasedVersion ()
  •    versionMatch ()

ПРИМЕРЫ

  • Найти задачи, в которых значение настраиваемого поля «Местоположение» «Нью-Йорк»:

Location = "Нью-Йорк"

  • Найти задачи, в которых значение настраиваемого поля с идентификатором 10003 «Нью-Йорк»:

Cf [10003] = "Нью-Йорк"

  • Найти задачи, в которых значение «Месторасположения» настраиваемого поля «Лондон» или «Милан» или «Париж»:

cf [10003] в («Лондон», «Милан», «Париж»)

  • Найти задачи, в которых пользовательское поле «Местоположение» не имеет значения:

location! = empty

Описание

Поиск задач,описание в которых  содержит определенный текст. Можно использовать синтаксис текстового поиска JIRA.

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

Описание description

ТИП ПОЛЯ

ТЕКСТ TEXT

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= нет
!= нет
~ есть
!~ есть
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN нет
NOT IN нет
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

нет

ПРИМЕРЫ

  • Найти запросы, в которых описание содержит текст, соответствующий «См. Скриншот» (т. е. «Нечеткое» совпадение):

Описание ~ "Смотрите скриншот"
description ~ "Please see screenshot"

  • Найти запросы, в которых описание содержит точную фразу «Пожалуйста, смотрите скриншот»:

Описание ~ "" Смотрите скриншот  ""
description ~ ""Please see screenshot""

В соответствии

Поиск запросов, которые должны были быть выполнены до или после определенной даты (или диапазона дат). Обратите внимание, что дата выпуска относится только к дате (не к времени).

Используйте один из следующих форматов:

"yyyy/MM/dd"
"yyyy-MM-dd"

Или используйте «w» (недели) или «d» (дни), чтобы указать дату относительно текущей даты. Обязательно используйте кавычки («).

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

в  соответствии due

Псевдоним:

Срок dueDate

ТИП ПОЛЯ

ДАТА DATE

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с РАВНО EQUALS: =, НЕ РАВНО NOT EQUALS: !=, БОЛЬШЕ ЧЕМ GREATER THAN: >, БОЛЬШЕ, ЧЕМ РАВНО GREATER THAN EQUALS: >=, МЕНЬШЕ LESS THAN: < , МЕНЬШЕ, ЧЕМ РАВНО LESS THAN EQUALS: <=  операторами, это поле поддерживает:

  • текущий логин() currentLogin()
  • последний логин() lastLogin()
  • Теперь() now()
  • начало дня() startOfDay()
  • начало недели () startOfWeek()
  • начало месяца () startOfMonth()
  • начало года () startOfYear()
  • конец дня() endOfDay()
  • конец недели() endOfWeek()
  • конец месяца() endOfMonth()
  • конец года() endOfYear()

ПРИМЕРЫ

  • Найти все задачи до 31 декабря 2010 года:

в соответствии <"2010/12/31"
due < "2010/12/31"

  • Найти все задачи возникшие до 31 декабря 2010 года:

в соответствии  <= "2011/01/01"
due <= "2011/01/01"

  • Найти все задачи в будущем:

в соответствии = "1d"
due = "1d"

  • Найти все задачи в январе 2011 года:

в соответствии> = "2011/01/01" и в соответствии <= "2011/01/31"
due >= "2011/01/01" and due <= "2011/01/31"

  • Найти все задачи 15 января 2011 года:

в соответствии = "2011/01/15"
due = "2011/01/15"

Окружающая среда Environment

Поиск запросов, в которых среда содержит определенный текст.

Можно использовать синтаксис текстового поиска JIRA.

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

environment  

ТИП ПОЛЯ

ТЕКСТ TEXT

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= нет
!= нет
~ есть
!~ есть
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN нет
NOT IN нет
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

нет

ПРИМЕРЫ

  • Найти задачи, в которых среда содержит текст, соответствующий «Третий этаж» (т. е. «Нечеткое» совпадение):

Окружающая среда ~ "Третий этаж"
 environment ~ "Third floor"

  • Найти задачи, в которых в среде содержится точная фраза «Третий этаж»:

Окружающая среда ~ "" Третий этаж  ""
environment ~ ""Third floor""

Эпическая ссылка

 Доступно только в том случае, если вы используете JIRA Agile 6.1.2 или новее.

Поиск задач, относящихся к определенной эпопее в JIRA Agile. Поиск основан либо на эпическом имени, либо на ключе запроса, либо на идентификаторе задачи (т. е. по номеру, который JIRA автоматически присваивает задаче).

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

«Эпическая ссылка» «epic link» 

ТИП ПОЛЯ

Взаимоотношения эпической  ссылки(это настраиваемый тип, созданный JIRA Agile).

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с операторами IN или NOT IN, эпическая ссылка поддерживает:

  • issueHistory ()
  • linkedIssues ()
  • votedIssues ()
  • watchedIssues ()

ПРИМЕРЫ

  • Найти задачи, относящиеся к эпическому «Юпитеру», у которого есть ключ к запросу ANERDS-317:

"epic link" = ANERDS-317 или "Эпическая ссылка" = Юпитер "epic link" = Jupiter
"Эпическая ссылка" = ANERDS-317

Фильтр

Вы можете использовать сохраненный фильтр, чтобы сузить область поиска. Вы можете искать по имени фильтра или идентификатору фильтра (т. е. по номеру, который JIRA автоматически присваивает сохраненному фильтру).

Заметка:

  • Операция «Расширенный поиск» — «Поля» в введенном запросе переопределит оператор Упорядочены ПО в сохраненном фильтре.
  •  Вы не можете запустить или сохранить фильтр, который вызовет бесконечный цикл (т. е. Вы не можете ссылаться на сохраненный фильтр, если он в конечном итоге ссылается на ваш текущий фильтр).
  • Это поле поддерживает автозаполнение.

СИНТАКСИС

Фильтр filter   

Псевдонимы:

«запрос» request

savedFilter

SearchRequest

ТИП ПОЛЯ

ФИЛЬТР FILTER

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS нет
IS NOT нет
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

нет

ПРИМЕРЫ

  • Найти результаты фильтра «Мой сохраненный фильтр» (который имеет идентификатор 12000) для запросов, назначенных пользователю jsmith:

Filter = "Мой сохраненный фильтр" и правопреемник = jsmith
filter = "My Saved Filter" and assignee = jsmith
или
Filter = 12000 и правопреемник = jsmith 

Исправленная Версия

Найти задачи, которые назначены определенной  исправленной версии. Вы можете выполнить поиск по имени версии или идентификатору версии (то есть номер, который JIRA автоматически присваивает версии).

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

fixVersion

ТИП ПОЛЯ

ВЕРСИЯ VERSION

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS есть
WAS IN есть
WAS NOT есть
WAS NOT IN есть
CHANGED есть

Обратите внимание, что операторы сравнения (например, «>») используют порядок версий, который был настроен вашим администратором проекта, а не числовой или алфавитный порядок.

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с операторами IN и NOT IN это поле поддерживает:

  • releasedVersions ()
  • latestReleasedVersion ()
  • unreleasedVersions ()
  • earliestUnreleasedVersion ()

ПРИМЕРЫ

  • Найти задачи с исправлением версии 3.14 или 4.2:

fixVersion in ("3.14", "4.2")

 (Обратите внимание, что полные остановки являются зарезервированными символами, поэтому их нужно окружать кавычками).

  • Найти задачи с исправленной версией «Little Ted»:

fixVersion = "Little Ted"

  • Найти задачи с идентификатором версии Fix 10001:

fixVersion = 10001

Ключ задачи Issue Key

Поиск задач с конкретным ключом задачи или идентификатором задачи (то есть номер, который JIRA автоматически выделяет для задачи).

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

issueKey

Псевдонимы:

ID

Запрос issue

Ключ key

ТИП ПОЛЯ

ЗАПРОС ISSUE

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с операторами IN или NOT IN функция issueKey поддерживает:

  • issueHistory ()
  • linkedIssues ()
  • votedIssues ()
  • watchedIssues ()

ПРИМЕРЫ

  • Найти задачу с ключом «ABC-123»:

issueKey = ABC-123

Последнее просмотренное LastViewed

Поиск задач, которые были просмотрены в последний раз, до или после определенной даты (или диапазона дат). Обратите внимание, что если компонент времени не указан, предполагается принятие полночи 00:00. Обратите внимание, что результаты поиска будут относиться к вашему настроенному часовому поясу (который по умолчанию является часовым поясом сервера JIRA).

Используйте один из следующих форматов:

"yyyy/MM/dd HH:mm"
"yyyy-MM-dd HH:mm"
"yyyy/MM/dd"
"yyyy-MM-dd"

Или используйте «w» (недели), «d» (дни), «h» (часы) или «m» (минуты), чтобы указать дату относительно текущего времени. Значение по умолчанию — «m» (минуты). Обязательно используйте кавычки («), если вы опускаете кавычки, количество, которое вы поставите, будет интерпретироваться как миллисекунды после эпохи (1970-1-1).

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

lastViewed

ТИП ПОЛЯ

ДАТА DATE

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с РАВНО EQUALS: =, НЕ РАВНО NOT EQUALS: !=, БОЛЬШЕ ЧЕМ GREATER THAN: >, БОЛЬШЕ, ЧЕМ РАВНО GREATER THAN EQUALS: >=, МЕНЬШЕ LESS THAN: < , МЕНЬШЕ, ЧЕМ РАВНО LESS THAN EQUALS: <=  операторами, это поле поддерживает:

  • currentLogin ()
  • lastLogin()
  • now()
  • startOfDay()
  • startOfWeek()
  • startOfMonth()
  • startOfYear()
  • endOfDay()
  • endOfWeek()
  • endOfMonth()
  • endOfYear()

ПРИМЕРЫ

  • Найти все задачи последние просмотренные до 12 декабря 2010 года:

lastViewed <"2010/12/12"

  • Найти все задачи, которые были рассмотрены до 12 декабря 2010 года (но не 13 декабря 2010 года):

lastViewed <= "2010/12/13"

  • Найти все задачи, просмотренные 12 декабря 2010 года до 14:00:

lastViewed > "2010/12/12" and created < "2010/12/12 14:00"

  • Найти последние просмотренные задачи меньше, чем один день назад:

lastViewed> "-1d"

  • Найти последние  задачи  просмотренные в январе 2011:

lastViewed > "2011/01/01" and created < "2011/02/01"

  • Найти последние  задачи  просмотренные 15 января 2011:

lastViewed > "2011/01/15" and created < "2011/01/16"

Уровень

Доступно только в том случае, если администратор JIRA активировал защиту уровня задачи.

Поиск задач с определенным уровнем безопасности. Вы можете выполнить поиск по имени уровня безопасности задачи или идентификатору уровня безопасности (то есть номер, который JIRA автоматически распределяет на уровень безопасности задачи).

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

Уровень level

ТИП ПОЛЯ

УРОВЕНЬ БЕЗОПАСНОСТИ SECURITY LEVEL

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

н /а

ПРИМЕРЫ

  • Поиск задач с уровнем безопасности «действительно высокий» или «уровень1»:

level in ("Really High", level1)

  • Поиск задач с идентификатором уровня безопасности 123:

level = 123

Оригинальная оценка

Доступна только в том случае, если отслеживание времени включено администратором JIRA.

Поиск задач, в которых исходная оценка установлена на определенное значение (т. е. число, а не дату или диапазон дат).

Используйте «w», «d», «h» и «m» для указания недель, дней, часов или минут.

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

originalEstimate

Псевдоним:

timeOriginalEstimate

ТИП ПОЛЯ

ПРОДОЛЖИТЕЛЬНОСТЬ DURATION

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

нет

ПРИМЕРЫ

  • Найти задачи с первоначальной оценкой в 1 час:

originalEstimate = 1h

  • Найти задачи с оригинальной оценкой более 2 дней:

originalEstimate > 2d

Родитель Parent

Доступно только в том случае, если подзадачи были включены администратором JIRA.

Находит все подзадачи определенной задачи. Вы можете выполнить поиск по ключевому слову задачи или по идентификатору задачи (т. е.  по номеру, который JIRA автоматически присваивает задаче).

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

Родитель parent

ТИП ПОЛЯ

ЗАПРОС ISSUE

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS нет
IS NOT нет
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

нет

ПРИМЕРЫ

  • Найти задачи, которые являются подзадачами задачи TEST-1234:

parent = TEST-1234

Приоритет

Поиск задач с определенным приоритетом. Вы можете выполнить поиск по имени приоритета или идентификатору приоритета (т. е. по  номеру, который JIRA автоматически назначает приоритету).

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

Приоритет priority

ТИП ПОЛЯ

ПРИОРИТЕТ PRIORITY

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS есть
WAS IN есть
WAS NOT есть
WAS NOT IN есть
CHANGED есть

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

нет

ПРИМЕРЫ

  • Найти задачи с приоритетом «Высокий»:

priority = High

  • Найти задачи с идентификатором приоритета 10000:

priority = 10000

Проект

Поиск задач, относящихся к определенному проекту.

Вы можете искать по названию проекта, по ключу проекта или по идентификатору проекта (т. е. номер, который JIRA автоматически выделяет проекту). В редком случае, когда есть проект, ключ проекта которого совпадает с именем другого проекта, тогда ключ проекта берет предпочтение и скрывает результаты второго проекта.

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

Проект project

ТИП ПОЛЯ

ПРОЕКТ PROJECT

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с операторами IN и NOT IN поддержка проекта:

  • projectsLeadByUser ()
  • projectsWhereUserHasPermission ()
  • projectsWhereUserHasRole ()

ПРИМЕРЫ

  • Найти задачи, относящиеся к проекту, который имеет название «Проект ABC»:

project = "ABC Project"

  • Найти задачи, относящиеся к Проекту с ключом «ABC»:

project = "ABC"

  • Найти запросы, относящиеся к проекту с идентификатором «1234»:

project = 1234

Оставшаяся оценка

Доступна только в том случае, если отслеживание времени включено администратором JIRA.

Находит  задачи, в которых для оставшейся оценки задано определенное значение (т. е. Число, а не дата или диапазон дат).

Используйте «w», «d», «h» и «m» для указания недель, дней, часов или минут.

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

remainingEstimate

Псевдоним:

timeEstimate

ТИП ПОЛЯ

ПРОДОЛЖИТЕЛЬНОСТЬ DURATION

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

нет

ПРИМЕРЫ

  • Найти задачи с оставшейся оценкой более 4 часов: 

remainingEstimate > 4h

Репортер

Поиск задач, о которых сообщил конкретный пользователь. Это может быть то же самое, что и создатель, но может быть разным.

Вы можете выполнить поиск по полному имени, идентификатору или адресу электронной почты пользователя.

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

Репортер reporter

ТИП ПОЛЯ

ПОЛЬЗОВАТЕЛЬ USER

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS есть
WAS IN есть
WAS NOT есть
WAS NOT IN есть
CHANGED есть

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с операторами IN и NOT IN это поле поддерживает:

  • Члены() membersOf()

При использовании с операторами EQUALS и NOT EQUALS это поле поддерживает:

  • текущий пользователь() currentUser()

ПРИМЕРЫ

  • Поиск задач, о которых сообщила Джилл Джонс:

reporter = "Jill Jones"
или
reporter = jjones

  • Поиск задач, о которых сообщил пользователь с адресом электронной почты «bob@mycompany.com»:

reporter = "bob@mycompany.com"

(Обратите внимание, что символы полной остановки и «@» являются зарезервированными символами, поэтому адрес электронной почты должен быть окружен кавычками.)

Разрешение Resolution

Поиск запросов, имеющих конкретное разрешение

Вы можете искать по имени разрешения или идентификатору разрешения (то есть номер, который JIRA автоматически назначает на разрешение).

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

Разрешение resolution

ТИП ПОЛЯ

РАЗРЕШЕНИЕ RESOLUTION

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS есть
WAS IN есть
WAS NOT есть
WAS NOT IN есть
CHANGED есть

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

нет

ПРИМЕРЫ

  • Найти задачи с разрешением «Невозможно воспроизвести» или «Не исправить»:

resolution in ("Cannot Reproduce", "Won't Fix")

  • Найти задачи с идентификатором разрешения 5:

resolution = 5

  • Найти задачи, которые не имеют разрешения:

resolution = unresolved

Решенное Resolved

Поиск задач, которые были разрешены, до или после определенной даты (или диапазона дат). Обратите внимание, что если компонент времени не указан, предполагается принятие полночи 00:00. Обратите внимание, что результаты поиска будут относиться к вашему настроенному часовому поясу (который по умолчанию является часовым поясом сервера JIRA).

Используйте один из следующих форматов:

«yyyy/MM/dd HH:mm»

«yyyy-MM-dd HH:mm»

«yyyy/MM/dd»

«yyyy-MM-dd»

Или используйте «w» (недели), «d» (дни), «h» (часы) или «m» (минуты), чтобы указать дату относительно текущего времени. Значение по умолчанию — «m» (минуты). Обязательно используйте кавычки («), если вы опускаете кавычки, количество, которое вы поставите, будет интерпретироваться как миллисекунды после эпохи (1970-1-1).Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

Решено resolved

Псевдоним:

resolutionDate

ТИП ПОЛЯ

ДАТА DATE

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с РАВНО EQUALS: =, НЕ РАВНО NOT EQUALS: !=, БОЛЬШЕ ЧЕМ GREATER THAN: >, БОЛЬШЕ, ЧЕМ РАВНО GREATER THAN EQUALS: >=, МЕНЬШЕ LESS THAN: < , МЕНЬШЕ, ЧЕМ РАВНО LESS THAN EQUALS: <=  операторами, это поле поддерживает:

  • currentLogin()
  • lastLogin()
  • now()
  • startOfDay()
  • startOfWeek()
  • startOfMonth()
  • startOfYear()
  • endOfDay()
  • endOfWeek()
  • endOfMonth()
  • endOfYear()

ПРИМЕРЫ

  • Найти все задачи, которые были решены до 31 декабря 2010 года (но не 31 декабря 2010 года):

resolved <= "2010/12/31"

  • Найти все задачи, которые были разрешены до 14:00 31 декабря 2010 года:

resolved < "2010/12/31 14:00"

  • Найти все задачи, которые были решены до 31 декабря 2010 года:

resolved <= "2011/01/01"

  • Найти  задачи, которые были решены в январе 2011 года:

resolved > "2011/01/01" and resolved < "2011/02/01"

  • Найти  задачи, которые были разрешены 15 января 2011 года:

resolved > "2011/01/15" and resolved < "2011/01/16"

  • Найти  задачи, которые были решены за последний час:

resolved > -1h

Спринт

Доступно только в том случае, если вы используете JIRA Agile.

Поиск задач, которые заданы для конкретного спринта в JIRA Agile. Это работает для активных спринтов и будущих спринтов. Поиск основан на либо имени спринта, либо идентификаторе спринта (т. е. по номеру, который JIRA автоматически присваивает спринту).

СИНТАКСИС

Спринт sprint

  Если у вас несколько спринтов с похожими (или идентичными) именами, вы можете просто выполнить поиск, используя имя спринта — или даже просто его часть. Возможные совпадения будут показаны в раскрывающемся списке автозаполнения, с указанием дат спринта, чтобы помочь вам различить их. (Идентификатор спринта также будет показан в скобках).

ТИП ПОЛЯ

Число Number

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

  • openSprints ()
  • closedSprints ()

ПРИМЕРЫ

  • Найдите задачи, относящиеся к спринту 999:

sprint = 999

  • Найдите задачи, которые относятся к спринту «1 февраля»:

sprint = "February 1"

  • Найдите задачи, которые относятся к «1 февраля», «2 февраля» или «3 февраля»:

sprint in ("February 1","February 2","February 3")

  • Найдите задачи, которые назначены  спринту:

sprint is not empty

Статус

Поиск задач, имеющих определенный статус.

Вы можете выполнить поиск по имени статуса или индентификатору (ID) статуса (например, номер, который JIRA автоматически присваивает статусу).

Обратите внимание, что операторы WAS, WAS_NOT, WAS_IN и WAS_NOT_IN могут использоваться только с именем (а не с идентификатором).

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

status

ТИП ПОЛЯ

STATUS

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS есть
WAS IN есть
WAS NOT есть
WAS NOT IN есть
CHANGED есть

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

n/a

ПРИМЕРЫ

  • Найти задачи с статусом «Открытые»:

status = Open

  • Найдите задачи с идентификатором состояния 1:

status = 1

  • Найти задачи, которые в настоящее время имеют или ранее имели статус «Открытые»:

status WAS Open

Резюме

Поиск задач, в которых резюме содержит конкретный текст.

Можно использовать синтаксис текстового поиска JIRA.

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

summary

ТИП ПОЛЯ

ТЕКСТ TEXT

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= нет
!= нет
~ есть
!~ есть
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN нет
NOT IN нет
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

n/a

ПРИМЕРЫ

  • Найдите задачи, в которых в Сводке содержится текст, соответствующий «Ошибка сохранения файла» (т. е. «нечеткое» совпадение):

Summary ~ "Ошибка сохранения файла"
summary ~ "Error saving file"

  • Найдите задачи, в которых в Сводке содержится точная фраза «Ошибка сохранения файла»:

Summary ~ "" Ошибка сохранения файла  ""
 summary ~ ""Error saving file""

Текст

Это «мастер-поле», которое позволяет вам искать все текстовые поля, т. е .:

  • Резюме
  • Описание
  • Окружающая среда
  • Комментарии
  • Настраиваемые поля, в которых используется «Free Text Searcher»; Это включает настраиваемые поля следующих встроенных настраиваемых типов полей:

    •    Свободное текстовое поле (неограниченный текст)
    •    Текстовое поле (<255 символов)
    •    Текстовое поле только для чтения

Поле JQL «текст», как в тексте ~ «несколько слов», выполняет поиск «Резюме», «Описание», «Среда», «Комментарии». Он также ищет все текстовые поля. Если у вас много текстовых пользовательских полей, вы можете повысить производительность своих задач, выполнив поиск по определенным полям, например.

Summary ~ «some words» OR Description ~ «some words»

Заметки:

  • Текстовое поле может использоваться только с оператором CONTAINS («~»).
  • Синтаксис текстового поиска JIRA может использоваться с этими полями.

СИНТАКСИС

text

ТИП ПОЛЯ

ТЕКСТ TEXT

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= нет
!= нет
~ есть
!~ нет
> нет
>= нет
< нет
<= нет
IS нет
IS NOT нет
IN нет
NOT IN нет
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

n/a

ПРИМЕРЫ

  • Найдите задачи, когда текстовое поле соответствует слову «Fred»:

text ~ "Fred"
или
text ~ Fred

  • Найти все задачи, когда текстовое поле содержит точную фразу «полный экран»:

text ~ ""full screen""

Тип

Поиск задач, имеющих конкретный тип задачи.

Вы можете выполнить поиск по типу «Тип задачи» или по «Идентификатору типа задачи» (т.е. Номер, который JIRA автоматически присваивает типу задачи).

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

type

Псевдоним:

issueType

ТИП ПОЛЯ

ISSUE_TYPE

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

n/a

ПРИМЕРЫ

  • Найти задачи с типом запроса «Ошибка»:

type = Bug

  • Найдите задачи с типом запроса «Ошибка» или «Улучшение»:

issueType in (Bug,Improvement)

  • Найдите задачи с идентификатором типа задачи 2:

IssueType = 2

Потраченое время

Доступно только в том случае, если отслеживание времени включено администратором JIRA.

Поиск задач, в которых значение «Время потрачено» установлено на определенное значение (т. е. Число, а не дату или диапазон дат).

Используйте «w», «d», «h» и «m» для указания недель, дней, часов или минут.

Примечание. Это поле не поддерживает автозаполнение

СИНТАКСИС

timeSpent

ТИП ПОЛЯ

ПРОДОЛЖИТЕЛЬНОСТЬ DURATION

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

n/a

ПРИМЕРЫ

  • Найти задачи, на которые потрачено время  более 5 дней:

timeSpent > 5d

Обновлено

Поиск задач, которые были обновлены до, до или после определенной даты (или диапазона дат). Обратите внимание, что если компонент времени не указан, предполагается принятие полночь 00:00. Обратите внимание, что результаты поиска будут относиться к вашему настроенному часовому поясу (который по умолчанию является часовым поясом сервера JIRA).

Используйте один из следующих форматов:

«yyyy/MM/dd HH:mm»

«yyyy-MM-dd HH:mm»

«yyyy/MM/dd»

«yyyy-MM-dd»

Или используйте «w» (недели), «d» (дни), «h» (часы) или «m» (минуты), чтобы указать дату относительно текущего времени. Значение по умолчанию — «m» (минуты). Обязательно используйте кавычки («), если вы опускаете кавычки, количество, которое вы поставите, будет интерпретироваться как миллисекунды после эпохи (1970-1-1).

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

updated

Псевдоним:

updatedDate

ТИП ПОЛЯ

ДАТА DATE

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с РАВНО EQUALS: =, НЕ РАВНО NOT EQUALS: !=, БОЛЬШЕ ЧЕМ GREATER THAN: >, БОЛЬШЕ, ЧЕМ РАВНО GREATER THAN EQUALS: >=, МЕНЬШЕ LESS THAN: < , МЕНЬШЕ, ЧЕМ РАВНО LESS THAN EQUALS: <=  операторами, это поле поддерживает:

  • currentLogin()
  • lastLogin()
  • now()
  • startOfDay()
  • startOfWeek()
  • startOfMonth()
  • startOfYear()
  • endOfDay()
  • endOfWeek()
  • endOfMonth()
  • endOfYear()

ПРИМЕРЫ

  • Найти задачи, которые были обновлены до 12 декабря 2010 года:

updated < "2010/12/12"

  • Найти задачи, которые были обновлены до 12 декабря 2010 года (но не 13 декабря 2010 года):

updated < "2010/12/13"

  • Найти все задачи, которые были обновлены до 14:00 31 декабря 2010 года:

updated < "2010/12/31 14:00"

  • Найти задачи, которые были обновлены более двух недель назад:

updated < "-2w"

  • Найти задачи, которые были обновлены 15 января 2011 года:

updated > "2011/01/15" and updated < "2011/01/16"

  • Найти задачи, которые были обновлены в январе 2011 года:

updated > "20011/01/01" and updated < "2011/02/01"

Избиратель

Поиск задач, за которые голосовал определенный пользователь. Вы можете выполнить поиск по полному имени, идентификатору или адресу электронной почты пользователя. Обратите внимание, что вы можете найти только те задачи, для которых у вас есть разрешение «Просмотр избирателей и наблюдателей», если вы не ищете свои собственные голоса. См. также votedIssues.

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

voter

ТИП ПОЛЯ

ПОЛЬЗОВАТЕЛЬ USER

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с операторами IN и NOT IN это поле поддерживает:

  • membersOf()

При использовании с операторами EQUALS и NOT EQUALS это поле поддерживает:

  • currentUser()

ПРИМЕРЫ

  • Поиск задач, за которые вы голосовали:

voter = current User()

  • Поиск задач, за которые голосовал пользователь «jsmith»:

voter = "jsmith"

  • Поиск задач, за которые проголосовал член группы «jira-developers»:

voter in membersOf ("jira-developers")

Голоса Votes

Поиск задач с указанным числом голосов.

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

Голоса votes

ТИП ПОЛЯ

Номер NUMBER

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS нет
IS NOT нет
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

n/a

ПРИМЕРЫ

  • Найти все задачи, которые имеют 12 или более голосов:

votes >= 12

Наблюдатель Watcher

Поиск задач, которые просматривает конкретный пользователь. Вы можете выполнить поиск по полному имени, идентификатору или адресу электронной почты пользователя. Обратите внимание, что вы можете найти только те задачи, для которых у вас есть разрешение «Просмотр избирателей и наблюдателей», если вы не ищете задачи, в которых вы наблюдаете. См.также watchedIssues.

Примечание. Это поле поддерживает автозаполнение.

СИНТАКСИС

watcher

ТИП ПОЛЯ

ПОЛЬЗОВАТЕЛЬ USER

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с операторами IN и NOT IN это поле поддерживает:

  • membersOf()

При использовании с операторами EQUALS и NOT EQUALS это поле поддерживает:

  • currentUser()

ПРИМЕРЫ

  • Поиск задач, которые вы наблюдаете:

watcher = currentUser(

  • Поиск задач, которые наблюдает пользователь jsmith:

watcher = "jsmith"

  • Поиск задач, за которыми следит член группы «jira-developers»:

watcher in membersOf("jira-developers")

Наблюдатели Watchers

Ищите задачи с определенным количеством наблюдателей.

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

watchers

ТИП ПОЛЯ

НОМЕР NUMBER

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS нет
IS NOT нет
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

n/a

ПРИМЕРЫ

  • Найти все задачи, за которыми следят более 3 человек:

watchers > 3

Доступен только в том случае, если отслеживание времени включено администратором JIRA.

Поиск задач, с которыми пользователь выполнил работу. Вы можете выполнить поиск по полному имени пользователя, идентификатору или адресу электронной почты. Обратите внимание, что вы можете найти только те задачи, для которых у вас есть разрешения «Отслеживание времени», если вы не ищете проблемы, с которыми вы работали.

Примечание. Это поле поддерживает автоматическое заполнение.

СИНТАКСИС

worklogAuthor

ТИП ПОЛЯ

USER

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> нет
>= нет
< нет
<= нет
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

При использовании с операторами IN и NOT IN это поле поддерживает:

  • Члены() membersOf()

При использовании с операторами EQUALS и NOT EQUALS это поле поддерживает:

  • текущий пользователь() currentuser()

ПРИМЕРЫ

  • Поиск задач, с которыми вы работали:

worklogAuthor = currentUser()

  • Поиск задач, с которыми пользователь «jsmith» выполнил работу:

worklogAuthor = "jsmith"

  • Поиск задач, с которыми участник группы «jira-developers» зарегистрировал работу против:

worklogAuthor in  membersOf ("jira-developers")

Комментарий рабочего журнала Work Log Comment

Доступен только в том случае, если отслеживание времени включено администратором JIRA.

Находит задачи, в которых есть комментарий в записи журнала работы, в котором содержится конкретный текст.

Можно использовать синтаксис текстового поиска JIRA.

Примечание. Это поле не поддерживает автоматическое заполнение.

СИНТАКСИС

worklogComment

ТИП ПОЛЯ

ТЕКСТ TEXT

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= нет
!= нет
~ есть
!~ есть
> нет
>= нет
< нет
<= нет
IS нет
IS NOT нет
IN нет
NOT IN нет
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

нет

ПРИМЕРЫ

  • Найдите задачи, в которых комментарий в записи рабочего журнала содержит текст, соответствующий «тестовым сеансам» (т. е. «нечеткое» совпадение):

comment ~ "test sessions"

  • Найдите задачи, в которых в комментарии содержится точная фраза «тестовые сеансы»:

comment ~ ""test sessions""

Дата регистрации работы Work Log Date

Доступен только в том случае, если отслеживание времени включено администратором JIRA.

Поиск задач с комментариями в записях рабочего журнала, которые были созданы до, или после определенной даты (или диапазона дат). Обратите внимание, что если компонент времени не указан, будет принята полуночь  00:00. Обратите внимание, что результаты поиска будут относиться к вашему настроенному часовому поясу (по умолчанию это часовой пояс JIRA-сервера).

Используйте один из следующих форматов:

"yyyy/MM/dd HH:mm"
"yyyy-MM-dd HH:mm"
"yyyy/MM/dd"
"yyyy-MM-dd"

Или используйте «w» (недели), «d» (дни), «h» (часы) или «m» (минуты), чтобы указать дату относительно текущего времени. Значение по умолчанию — «m» (минуты). Обязательно используйте кавычки («), если вы опускаете кавычки, количество, которое вы поставите, будет интерпретироваться как миллисекунды после эпохи (1970-1-1).

Примечание. Это поле не поддерживает автоматическое заполнение.

СИНТАКСИС

worklogDate

ТИП ПОЛЯ

ДАТА DATE

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

При использовании с РАВНО EQUALS: =, НЕ РАВНО NOT EQUALS: !=, БОЛЬШЕ ЧЕМ GREATER THAN: >, БОЛЬШЕ, ЧЕМ РАВНО GREATER THAN EQUALS: >=, МЕНЬШЕ LESS THAN: < , МЕНЬШЕ, ЧЕМ РАВНО LESS THAN EQUALS: <=  операторами, это поле поддерживает:

  • currentLogin()
  • lastLogin()
  • now()
  • startOfDay()
  • startOfWeek()
  • startOfMonth()
  • startOfYear()
  • endOfDay()
  • endOfWeek()
  • endOfMonth()
  • endOfYear()

ПРИМЕРЫ

  • Найти задачи с комментариями в записи рабочего журнала, созданные до полуночи 00:00 12 декабря 2010 года:

worklogDate < "2010/12/12"

  • Найти задачи с комментариями в записях рабочего журнала, созданных до 12 декабря 2010 года (но не 13 декабря 2010 года):

worklogDate <= "2010/12/13"

  • Найти задачи с комментариями в записи рабочего журнала, созданные 12 декабря 2010 года до 14:00:

worklogDate > "2010/12/12" and worklogDate < "2010/12/12 14:00"

  • Найти задачи с комментариями в записи рабочего журнала, созданные менее одного дня назад:

worklogDate > "-1d"

  • Найти задачи с комментариями в записи рабочего журнала, созданные в январе 2011 года:

worklogDate > "2011/01/01" worklogDate < "2011/02/01"

  • Найти задачи с комментариями в записи рабочего журнала, созданные 15 января 2011 года:

worklogDate > "2011/01/15" and worklogDate < "2011/01/16"

Коэффициент работы

Доступен только в том случае, если отслеживание времени включено администратором JIRA.

Поиск задач, в которых коэффициент работы имеет особое значение. Коэффициент работы рассчитывается следующим образом:

workRatio = timeSpent / originalEstimate) x 100

Примечание. Это поле не поддерживает автозаполнение.

СИНТАКСИС

workRatio

ТИП ПОЛЯ

НОМЕР NUMBER

ПОДДЕРЖИВАЕМЫЕ ОПЕРАТОРЫ

Оператор Поддержка
= есть
!= есть
~ нет
!~ нет
> есть
>= есть
< есть
<= есть
IS есть
IS NOT есть
IN есть
NOT IN есть
WAS нет
WAS IN нет
WAS NOT нет
WAS NOT IN нет
CHANGED нет

ПОДДЕРЖИВАЕМЫЕ ФУНКЦИИ

n/a

ПРИМЕРЫ

  • Найти задачи, на которые потрачено более 75% первоначальной оценки: WorkRatio> 75

workRatio > 75

По материалам Atlassian JIRA User’s Guide: Advanced Searching

Я пытаюсь перечислить всех пользователей в Jira с помощью REST API, в настоящее время я использую функцию поиска пользователей с помощью GET: https://docs.atlassian.com/jira/REST/server/#api/2/user-findUsers

Дело в том, что в результате по умолчанию будет отображаться 50 первых результатов и что мы можем расширить этот результат до 1000. По сравнению с другими функциями, доступными в REST API, разбивка на страницы здесь не указана. Примером может служить функция члена группы: https: // docs .atlassian.com / jira / REST / server / # api / 2 / group-getUsersFromGroup.

Таким образом, я провел тест, и с моим тестом Jira, заполненным двумя членами, попытался получить только один результат и посмотреть, есть ли какие-то указания, относящиеся к остальной части моего результата. Предоставленный ответ будет давать только результаты и не будет возможности узнать, было ли их больше 1000 (или 1 в моем примере), это может быть логично, но в случае организации с более чем 1000 членов, перечисление всех пользователей, выполняющих это: http://jira/rest/api/2/user/search?username=.&maxResults=1000&includeInactive=true даст не более 1000 результатов.

Я получаю всех пользователей, независимо от их имени, с использованием . в качестве соответствующего символа.

Спасибо за вашу помощь!

2 ответа

Лучший ответ

Что вы можете сделать, так это вручную рассчитать количество пользователей.

Допустим, в вашей системе 98 пользователей.

Первый поиск даст вам 50 пользователей. Теперь у вас есть массив, и вы можете получить длину этого массива, равную 50.

Поскольку вы не знаете, 50 или 51 пользователь, вы выполняете другой поиск с параметром &startAt=50.

На этот раз длина массива составляет 48 вместо 50, и вы знаете, что достигли всех пользователей в системе.


1

Roberto Russo
16 Окт 2017 в 14:53

Обращаясь к службе поддержки Atlassian, похоже, что в user/search конечной точке есть ошибка, где она будет возвращать не более 1000 первых результатов.

Другой возможный способ получить всех пользователей в вашем экземпляре JIRA — использовать Crowd API /rest/usermanagement/1/search конечная точка:

curl -X GET 
  'https://jira.url/rest/usermanagement/1/search?entity-type=user&start-index=0&max-results=1000&expand=user' 
  -H 'Accept: application/json' -u username:password

Вам нужно будет создать новая запись JIRA User Server для создания учетных данных Crowd (параметр username:password выше) для использования вашим приложением в его вызовах REST API:

  • Зайдите в Управление пользователями.
  • Выберите сервер пользователей JIRA.
  • Добавьте приложение.
  • Введите имя приложения и пароль, которые приложение будет использовать при доступе к вашему серверному приложению JIRA.
  • Введите IP-адрес, адреса или блок IP CIDR приложения и нажмите «Сохранить».


0

Adil B
22 Апр 2019 в 16:29

1. Введение в JIRA

Платформа JIRA — это относительно популярная в мире платформа управления отслеживанием дефектов проекта, которая, подобно системе Alibaba Cloud RDC, является платформой отслеживания дефектов.

2.JIRA REST API вызывающий метод

2.1 Проверка разрешения

При проверке авторизации используется базовый метод проверки подлинности, который в основном учитывает простоту, простоту эксплуатации и внутреннюю систему. Конкретный метод операции заключается в добавлении параметра Authorization в заголовок http запроса, а значение — Basic base64 (имя пользователя: пароль), как показано ниже:

Проверка полномочий может быть завершена с помощью вышеуказанного метода. В качестве примера возьмем http-запрос запроса интерфейса сведений о проекте на рисунке выше.

* Документация для проверки разрешений:https://developer.atlassian.com/cloud/jira/platform/jira-rest-api-basic-authentication/

2.2 Запрос данных

2.2.1 Документ интерфейса данных

* Документация интерфейса данных:https://developer.atlassian.com/cloud/jira/platform/rest/v2/ Официальная версия открытого в данный момент интерфейса — v2, а v3 в документе интерфейса — общедоступная тестовая версия.

2.2.2 query запрос списка вопросов

URL запроса:https://XXX/rest/api/2/search?jql=project=10223+and+assignee=abc+order+by+updated&startAt=0&maxResults=10
Метод запроса: GET
Возвращает сведения о проблеме:

{
"expand":"names,schema",
"startAt":0,
"maxResults":1,
"total":33,
"issues":
	[
        {Подробная ссылка на структуру вопроса},
                 {Подробная ссылка на структуру вопроса}
	]
}

2.2.3 Details Детали запроса

URL запроса:https://XXX/rest/api/2/issue/{issueIdOrKey}
Метод запроса: GET
Возвращает сведения о проблеме:

{
  "id": "10002",
  "self": "http://your-domain.atlassian.net/rest/api/2/issue/10002",
  "key": "EX-1",
  "fields": {
    "watcher": {
      "self": "http://your-domain.atlassian.net/rest/api/2/issue/EX-1/watchers",
      "isWatching": false,
      "watchCount": 1,
      "watchers": [
        {
          "self": "http://your-domain.atlassian.net/rest/api/2/user?accoundId=99:27935d01-92a7-4687-8272-a9b8d3b2ae2e",
          "name": "mia",
          "displayName": "Mia Krystof",
          "active": false
        }
      ]
    },
    "attachment": [
      {
        "id": 10001,
        "self": "https://your-domain.atlassian.net/rest/api/2/attachments/10001",
        "filename": "debuglog.txt",
        "author": {
          "self": "http://your-domain.atlassian.net/rest/api/2/user?username=mia",
          "key": "mia",
          "accountId": "99:27935d01-92a7-4687-8272-a9b8d3b2ae2e",
          "name": "mia",
          "avatarUrls": {
            "48x48": "http://your-domain.atlassian.net/secure/useravatar?size=large&ownerId=mia",
            "24x24": "http://your-domain.atlassian.net/secure/useravatar?size=small&ownerId=mia",
            "16x16": "http://your-domain.atlassian.net/secure/useravatar?size=xsmall&ownerId=mia",
            "32x32": "http://your-domain.atlassian.net/secure/useravatar?size=medium&ownerId=mia"
          },
          "displayName": "Mia Krystof",
          "active": false
        },
        "created": "2018-10-10T23:10:51.169+0000",
        "size": 2460,
        "mimeType": "text/plain",
        "content": "https://your-domain.atlassian.net/jira/attachments/10001",
        "thumbnail": "https://your-domain.atlassian.net/jira/secure/thumbnail/10002"
      }
    ],
    "sub-tasks": [
      {
        "id": "10000",
        "type": {
          "id": "10000",
          "name": "",
          "inward": "Parent",
          "outward": "Sub-task"
        },
        "outwardIssue": {
          "id": "10003",
          "key": "EX-2",
          "self": "http://your-domain.atlassian.net/rest/api/2/issue/EX-2",
          "fields": {
            "status": {
              "iconUrl": "http://your-domain.atlassian.net/images/icons/statuses/open.png",
              "name": "Open"
            }
          }
        }
      }
    ],
    "description": "example bug report",
    "project": {
      "self": "http://your-domain.atlassian.net/rest/api/2/project/EX",
      "id": "10000",
      "key": "EX",
      "name": "Example",
      "avatarUrls": {
        "48x48": "http://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000",
        "24x24": "http://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000",
        "16x16": "http://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000",
        "32x32": "http://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"
      },
      "projectCategory": {
        "self": "http://your-domain.atlassian.net/rest/api/2/projectCategory/10000",
        "id": "10000",
        "name": "FIRST",
        "description": "First Project Category"
      },
      "simplified": false,
      "style": "classic"
    },
    "comment": [
      {
        "self": "http://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000",
        "id": "10000",
        "author": {
          "self": "http://your-domain.atlassian.net/rest/api/2/user?accoundId=99:27935d01-92a7-4687-8272-a9b8d3b2ae2e",
          "name": "mia",
          "displayName": "Mia Krystof",
          "active": false
        },
        "body": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.",
        "updateAuthor": {
          "self": "http://your-domain.atlassian.net/rest/api/2/user?accoundId=99:27935d01-92a7-4687-8272-a9b8d3b2ae2e",
          "name": "mia",
          "displayName": "Mia Krystof",
          "active": false
        },
        "created": "2018-10-10T23:10:51.172+0000",
        "updated": "2018-10-10T23:10:51.198+0000",
        "visibility": {
          "type": "role",
          "value": "Administrators"
        }
      }
    ],
    "issuelinks": [
      {
        "id": "10001",
        "type": {
          "id": "10000",
          "name": "Dependent",
          "inward": "depends on",
          "outward": "is depended by"
        },
        "outwardIssue": {
          "id": "10004L",
          "key": "PRJ-2",
          "self": "http://your-domain.atlassian.net/rest/api/2/issue/PRJ-2",
          "fields": {
            "status": {
              "iconUrl": "http://your-domain.atlassian.net/images/icons/statuses/open.png",
              "name": "Open"
            }
          }
        }
      },
      {
        "id": "10002",
        "type": {
          "id": "10000",
          "name": "Dependent",
          "inward": "depends on",
          "outward": "is depended by"
        },
        "inwardIssue": {
          "id": "10004",
          "key": "PRJ-3",
          "self": "http://your-domain.atlassian.net/rest/api/2/issue/PRJ-3",
          "fields": {
            "status": {
              "iconUrl": "http://your-domain.atlassian.net/images/icons/statuses/open.png",
              "name": "Open"
            }
          }
        }
      }
    ],
    "worklog": [
      {
        "self": "http://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000",
        "author": {
          "self": "http://your-domain.atlassian.net/rest/api/2/user?accoundId=99:27935d01-92a7-4687-8272-a9b8d3b2ae2e",
          "name": "mia",
          "displayName": "Mia Krystof",
          "active": false
        },
        "updateAuthor": {
          "self": "http://your-domain.atlassian.net/rest/api/2/user?accoundId=99:27935d01-92a7-4687-8272-a9b8d3b2ae2e",
          "name": "mia",
          "displayName": "Mia Krystof",
          "active": false
        },
        "comment": "I did some work here.",
        "updated": "2018-10-10T23:10:51.220+0000",
        "visibility": {
          "type": "group",
          "value": "jira-developers"
        },
        "started": "2018-10-10T23:10:51.220+0000",
        "timeSpent": "3h 20m",
        "timeSpentSeconds": 12000,
        "id": "100028",
        "issueId": "10002"
      }
    ],
    "updated": 1,
    "timetracking": {
      "originalEstimate": "10m",
      "remainingEstimate": "3m",
      "timeSpent": "6m",
      "originalEstimateSeconds": 600,
      "remainingEstimateSeconds": 200,
      "timeSpentSeconds": 400
    }
  }
}

2.2.4, обновление номера проекта

URL запроса:https://XXX/rest/api/2/issue/{issueIdOrKey}
Метод запроса: PUT
Для тестирования (необходимо создать тестовый билет в JIRA)

2.2.5 creation Создание комментария к проблеме проекта

URL запроса:https://XXX/rest/api/2/issue/{issueIdOrKey}/comment
Метод запроса: POST
Для тестирования (необходимо создать тестовый билет в JIRA)

2.2.6 、 Добавление проблемных приложений проекта

URL запроса:https://XXX/rest/api/2/issue/{issueIdOrKey}/attachments
Метод запроса: POST
Для тестирования (необходимо создать тестовый билет в JIRA)

3. JAVA тест

http запрос метода

	@Override
    public JiraHttpResponse doGetMethod(String url) {
        JiraHttpResponse jiraHttpResponse = new JiraHttpResponse();
        boolean success = false;
        String exception = "";
        String body = "";

        logger.info("request url:" + url);
        logger.info("request method: get");
        if (!Constant.emptyString.equals(url)) {
            CloseableHttpClient closeableHttpClient = createCloseableHttpClient();
            RequestConfig defaultConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARD).build();

            HttpGet httpGet;
            HttpResponse httpResponse;
            httpGet = new HttpGet(url);
                         // Установить стратегию CookieSpecs
            httpGet.setConfig(defaultConfig);
                         // Определяем заголовок запроса и параметры разрешения аутентификации
            httpGet.setHeader("Accept","application/json");
            httpGet.setHeader("Content-Type","application/json");
            httpGet.setHeader("Authorization","Basic " + bash64Util.getBase64(configBean.getJiraAccount() + ":" + configBean.getJiraPassword()));

            try {
                httpResponse = closeableHttpClient.execute(httpGet);

                logger.info("httpStatus=" + httpResponse.getStatusLine().getStatusCode());
                if (HttpStatus.SC_OK == httpResponse.getStatusLine().getStatusCode()) {
                    HttpEntity httpEntity = httpResponse.getEntity();
                    if (httpEntity != null) {
                        body = EntityUtils.toString(httpEntity,"UTF-8");
                        logger.info("body length:" + body.length());
                        success = true;
                    } else {
                                                 exception = "Запрос JIRA возвращенный объект пуст!";
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
                                 исключение = "запрос данных JIRA не выполнен!";
            } finally {
                closeHttpClient(closeableHttpClient);
            }
        } else {
                         исключение = "Адрес запроса JIRA пуст!";
        }

        jiraHttpResponse.setSuccess(success);
        jiraHttpResponse.setErrorMessage(exception);
        jiraHttpResponse.setBody(body);
        logger.info(jiraHttpResponse.toString());

        return jiraHttpResponse;
    }

Результат запроса:

2018-10-12 15:03:46.671  INFO 107496 --- [959D39DD333BC-0] c.a.c.j.s.impl.HttpClientServiceImpl     : request url:https://XXX/rest/api/2/search?jql=project=10223+and+assignee=abc+order+by+updated&startAt=0&maxResults=10
2018-10-12 15:03:46.672  INFO 107496 --- [959D39DD333BC-0] c.a.c.j.s.impl.HttpClientServiceImpl     : request method: get
2018-10-12 15:03:47.298  INFO 107496 --- [959D39DD333BC-0] com.amap.chexian.jira.util.Bash64Util    : Bash64Utils.getBash64FromUrl bash64 size:28
2018-10-12 15:03:52.416  INFO 107496 --- [959D39DD333BC-0] c.a.c.j.s.impl.HttpClientServiceImpl     : httpStatus=200
2018-10-12 15:03:52.681  INFO 107496 --- [959D39DD333BC-0] c.a.c.j.s.impl.HttpClientServiceImpl     : body length:235270
2018-10-12 15:03:52.683  INFO 107496 --- [959D39DD333BC-0] c.a.c.j.s.impl.HttpClientServiceImpl     : JiraHttpResponse{success=true, errorMessage='', body='{"expand":"schema,names","startAt":0,"maxResults":10,"total":34,"issues":[]}'}

4. Ссылки

1.JIRA REST API тестовый образецhttps://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/
2. Документация по API JIRAhttps://developer.atlassian.com/cloud/jira/platform/rest/v2/
3. Описание синтаксиса JIRA JQLhttps://www.atlassian.com/blog/jira-software/jql-the-most-flexible-way-to-search-jira-14
4, основы реализации JIRAhttps://blog.csdn.net/liumiaocn/article/details/81301550

Firstly, I am aware of the solution presented here: JIRA REST API to get work log — «You do not have the permission to see the specified issue» … As well the linked blog post (penned by @Nick Josevski), which whilst useful, doesn’t address my specifc problem, which could be something trivial…

With following Python 2.7.3 code…

import requests
import getpass
import json

jira_user = raw_input("Username: ")
jira_pass = getpass.getpass()

session = requests.Session()
session.verify = jira_ca_certs # Our internal certs
auth_info = {"username": jira_user, "password":  jira_pass}
login_url = 'http://JIRA_SERVER.com/login.jsp'
session.post(login_url, data=auth_info)

I generate the cookies post basic authenticatation to jira (note: I am using «http» without specifying the PORT to authenticate with the login page).. As session automatically holds the returned cookies, I can use session.cookies to set the header:

cookies = requests.utils.dict_from_cookiejar(session.cookies)
headers = {'Content-type': 'application/json', 'cookie': cookies}

Following which, I test the captured cookies with a basic get to the secure JIRA url, using https + PORT:

base = session.get('https://JIRA_SERVER.com:1234', headers=headers)
print 'base: ', base

The above, as expected, returns (though this might not be a valid test?) …

base:  <Response [200]>

Now to test the code for it’s intended purpose. I extend the url for a specific JIRA issue, using the same approach:

jira = session.get('https://JIRA_SERVER.com:1234/rest/api/latest/issue/KRYP-6207', headers=headers)
print 'issue: ', jira
print jira.json()

With JSON output, I get a response stating I do not have the permission:

issue:  <Response [401]>
{u'errorMessages': [u'You do not have the permission to see the specified issue.', u'Login Required'], u'errors': {}}

The cookies returned, that I use in the header, are:

headers:  {'cookie': 'atlassian.xsrf.token=XXXXXXXXXXXXXXXX|lout; Path=/, JSESSIONID=XXXXXXXXXXXXXXXX; Path=/'}

I don’t know why this works for the base url, but not the issue url.. I have used Chrome POSTMAN to check the cookies being returned, and they are the same as those listed above i.e. atlassian.xsrf.token, and JSESSIONID.

Hoping someone here can tell me what I am doing wrong! Thanks in advance …

Firstly, I am aware of the solution presented here: JIRA REST API to get work log — «You do not have the permission to see the specified issue» … As well the linked blog post (penned by @Nick Josevski), which whilst useful, doesn’t address my specifc problem, which could be something trivial…

With following Python 2.7.3 code…

import requests
import getpass
import json

jira_user = raw_input("Username: ")
jira_pass = getpass.getpass()

session = requests.Session()
session.verify = jira_ca_certs # Our internal certs
auth_info = {"username": jira_user, "password":  jira_pass}
login_url = 'http://JIRA_SERVER.com/login.jsp'
session.post(login_url, data=auth_info)

I generate the cookies post basic authenticatation to jira (note: I am using «http» without specifying the PORT to authenticate with the login page).. As session automatically holds the returned cookies, I can use session.cookies to set the header:

cookies = requests.utils.dict_from_cookiejar(session.cookies)
headers = {'Content-type': 'application/json', 'cookie': cookies}

Following which, I test the captured cookies with a basic get to the secure JIRA url, using https + PORT:

base = session.get('https://JIRA_SERVER.com:1234', headers=headers)
print 'base: ', base

The above, as expected, returns (though this might not be a valid test?) …

base:  <Response [200]>

Now to test the code for it’s intended purpose. I extend the url for a specific JIRA issue, using the same approach:

jira = session.get('https://JIRA_SERVER.com:1234/rest/api/latest/issue/KRYP-6207', headers=headers)
print 'issue: ', jira
print jira.json()

With JSON output, I get a response stating I do not have the permission:

issue:  <Response [401]>
{u'errorMessages': [u'You do not have the permission to see the specified issue.', u'Login Required'], u'errors': {}}

The cookies returned, that I use in the header, are:

headers:  {'cookie': 'atlassian.xsrf.token=XXXXXXXXXXXXXXXX|lout; Path=/, JSESSIONID=XXXXXXXXXXXXXXXX; Path=/'}

I don’t know why this works for the base url, but not the issue url.. I have used Chrome POSTMAN to check the cookies being returned, and they are the same as those listed above i.e. atlassian.xsrf.token, and JSESSIONID.

Hoping someone here can tell me what I am doing wrong! Thanks in advance …

Материал для: Администратора

Задача

Определенные пользователи в проекте не должны видеть все задачи проекта. Они должны видеть и работать в задачах которые сами создали.

Как так можно сделать?

Решение

Вам необходимо создать свои уровни доступа и добавить туда нужные группы, пользователей, роли.

Например:

  1. Уровень — Reporter (Автор), Current Assignee (Исполнитель)
  2. Уровень — Group (Anyone) (Любая группа)

Также, Вам нужно будет выставить «1 уровень» доступа по-умолчанию в настройке Схемы безопасности. Уровней может быть любое количество, на Ваше усмотрение.

Чтобы вы могли менять уровень доступа, в схеме прав доступа вы должны состоять в праве Установка безопасности запросов.

В Permissions Schemes (Схема разрешений) Вы можете указать кто может изменять эти уровни. Разрешение называется Set Issue Security.

Далее, Вы заходите в администрирование проекта к которому хотите применить схему.
Administration -> Projects -> Name project. Вкладка Issue Security -> Actions -> Select a scheme -> Выбираете в списке свою схему -> Next -> Associate.

Для того, что бы это работало, наличие поля «Уровень доступа» на экранах не обязательно.

Теория

Уровни безопасности запросов позволяют вам контролировать, кто может видеть те лии иные запросы в рамках одного или нескольких проектов.
Уровень безопасности запросов содержит набор пользователей. Уровни безопасности запросов создаются в Схеме безопасности запросов, которая связывается с проектом. Как только Схема безопасности запросов была связана с проектом, уровни безопасности могут быть применены к запросам в этом проекте (обратите внимание, что подзадачи будут наследовать уровень безопасности родительского запроса).

Уровни доступа могут быть назначены:

  • Пользователю
  • Группе
  • Проектной роли
  • Ролям запроса таким как ‘Автор’, ‘Руководитель проекта’ и ‘Исполнитель’
  • ‘Любому’ (например при анонимном доступе)
  • Пользователь из пользовательского поля.
  • Группа из пользовательского поля.

    Только пользователи с проектным разрешением на Установку безопасности запроса могут редактировать уровень безопасности запросов, независимо от того, являются ли они членами уровеня безопасности.

Зачем использовать уровни доступа?

Как пример, компания может иметь публичный доступ к JIRA. В этом случае они могут иметь несколько проектов, которые внешние пользователи (клиенты) могут просматривать. Однако вас не устраивает что одни пользователи видять запросы других пользователей. В таком случае вы можете:

  • Создать схему безопасности запроса.
  • Создать уровень безопасности Частный в схеме.
  • Добавить пользователей/группы/роли к уровню безопасности Частный.
  • Ассоциировать схему безопасности с любыми проектами.
  • Выбрать уровень безопасности Частный в запросе.

Создание, удаление, копирование схемы безопасности запросов

  1. Зайдите в систему с разрешениями АдминистратораJIRA.
  2. В разделе Администрирование в левой панели Схемы нажмите Схемы безопасности запросов.
  3. Отобразится страница Схемы безопасности запросов. На этой странице перечислены все схемы, которые существуют в одной инсталяции JIRA в настоящее время. Нажмите Добавить схему безопасности запросов.
  4. В форме введите имя схемы и краткое описание схемы. Нажмите кнопку Добавить.
  5. Вы вернетесь на страницу Схемы безопасности запросов, которая теперь содержит добавленную схему.
  6. Также схему можно добавить копированием существующей. Нажмите Копировать.
  7. Удалить схему можно по ссылке Удалить.

Добавление уровня безопасности к схеме безопасности запросов

  1. Зайдите в систему с разрешениями АдминистратораJIRA.
  2. В разделе Администрирование в левой панели Схемы нажмите Схемы безопасности запросов.
  3. Отобразится страница Схемы безопасности запросов. На этой странице перечислены все схемы, которые существуют в одной инсталяции JIRA в настоящее время.
  4. Нажмите на название схемы или на ссылку Уровни безопасности чтобы переместиться на страницу Редактирования уровня безопасности.
  5. В окне ДобавитьУровень безопасности, введите имя и описание для нового уровня безопасности. Затем нажмите кнопку ДобавитьУровень безопасности.

Настройка уровня безопасности по умолчанию для схемы безопасности запросов

Вы можете указать умолчанию уровень безопасности для вашей схеме проблема безопасности.
По умолчанию уровень безопасности используется во время создания запроса. Если автор запроса не имеет разрешения на установление уровня безопасности, то уровень безопасности запроса будет установлен по умолчанию. Если схема безопасности запросов проекта не имеет по умолчанию уровень безопасности, то уровень безопасности запроса будет установлен на Нет. (уровень безопасности Нет означает, что любой пользователь может видеть запрос.)

  1. Зайдите в систему с разрешениями АдминистратораJIRA.
  2. В разделе Администрирование в левой панели Схемы нажмите Схемы безопасности запросов.
  3. Отобразится страница Схемы безопасности запросов. На этой странице перечислены все схемы, которые существуют в одной инсталяции JIRA в настоящее время.
  4. Нажмите на название схемы или на ссылку Уровни безопасности чтобы переместиться на страницу Редактирования уровня безопасности.
  5. Уровень безопасности по умолчанию для схемы безопасности запросов может быть установлен или отменен:
    • Чтобы выбрать уровень безопасности по умолчанию, найдите нужный уровень и нажмите ссылку По умолчанию.
    • Чтобы отменить уровень безопасности по умолчанию, нажмите на ссылку Изменить уровень безопасности по умолчанию на «Никакой».

Добавление пользователей, групп или ролей в уровень безопасности

  1. Зайдите на страницу Редактирование уровня безопасности.
  2. Найдите уровень безопасности и нажмите Добавить.
  3. Отобразится страница Добавить пользователя/группу/проектую роль в уровень безопасности запроса. Выберите нужного пользователя и нажмите Добавить.

Ассоциирование схемы безопасности запросов с проектом

    1. Зайдите в систему с разрешениями АдминистратораJIRA.

    2. В разделе Администрирование отобразятся все проекты. Выберите нужный.
    3. Нажмите Выбрать напротив надписи Схема безопасности запросов. Выберите нужную.
    4. Нажмите ассоциировать.

Материалы по теме

Configuring Issue-level Security
Setting Security on an Issue

При первом входе, как Вы помните, всплыли ошибки в виде оповещений в интерфейсе JIRA. Устраним их.

Первая это на верхнем экране сообщение.

Jira Service Desk отключить оповещение о временном доступе

Это говорит о том, что при попытке войти в системные настройки JIRA.

Jira Service Desk отключить оповещение

Вы будете каждый раз вводить логин/пароль.

Jira Service Desk вход

Если мы этого не хотим, то отключим это сообщение следующим образом. Заходим через putty под учеткой root на наш сервер и создаем следующий файл в директории командой

vi /var/atlassian/application-data/jira/jira-config.properties

переходим в режим редактирования нажав на клавишу A, и набираем следующую строку

jira.websudo.is.disabled = true

В итоге должно получиться как на скрине. Выходим из режима редактирования нажав на клавишу ESC. Сохраним изменения и выходим из файла командой :wq!

Jira SD websudo disabled

Так как мы произвели изменения под рутом, то при создании файла его владельцем стал root и соответствующие права на файл. Это можно просмотреть командой

ls -l /var/atlassian/application-data/jira

Jira SD jira-config.properties

Исправим так как должно быть. Для этого введем следующие 2 команды. Первая меняет права доступа к файлу, вторая владельца файла.

chmod 640 /var/atlassian/application-data/jira/jira-config.properties
chown .jira /var/atlassian/application-data/jira/jira-config.properties

Смотрим, что получилось. Теперь все ровно. Едим дальше.

Jira SD отключение оповещения о временном доступе

Исправим ошибку Base URL for gadgets (URL канала гаджетов)

Проверка состояния base URL for Gadgets

Если мы войдем в Администрирование — Система — Инструменты для устранения неисправностей и поддержки, то мы увидим более подробную информацию об этой ошибке.

Проверка состояния base URL for Gadgets в Jira SD

Если вкратце, то JIRA сама проверяет свое состояние периодически. И ключевой момент здесь, она проверяет себя по тому адресу, который мы дали еще на этапе установки, т.е. по адресу http://jira.companyname.com:8080.

Вы можете сами проверить доступность JIRA по URL введя следующую команду. Если Вы сразу настроили работу JIRA Service Desk через 80 или 443 порт, то команды вводим без указания порта.

curl -v http://jira.companyname.ru:8080
curl -v https://jira.companyname.ru:8443

И получите примерно такой результат. JIRA не может подключиться и проверить саму себя, так как доменное имя имеет внешний IP адрес. Здесь нужно понимать как работает сеть. Трафик из NAT-а в тот же NAT ходить не будет.

base URL for Gadgets Curl failed connect to host

Не решив сразу эту проблему, вскоре Вы обнаружите, что при каждом выходе из JIRA и последующем входе, процесс входа будет занимать примерно около 10 минут. А также не сможете добавить на системный рабочий стол новые гаджеты. При попытке перейти в Администрирование — Система — Системный рабочий стол — Добавить гаджет получите сообщение. We’re still trying to fetch all of the available gadgets

base URL for Gadgets. Were still trying to fetch all of the available gadgets

Обычно в компаниях/организациях есть правила/стандарты именования объектов ИТ-Инфраструктуры и не всегда внутреннее имя сервера будем совпадать с именем домена по которому мы обращаемся к JIRA извне. На сайте Atlassian по этой ошибке есть рекомендации, чтобы внутреннее имя сервера совпадало с внешним именем. Т.е. если мы обращаемся к JIRA извне организации по адресу  http://jira.companyname.com:8080, которые имеет внешний IP адрес, к примеру 123.123.123.123, то и внутреннее имя сервера должно быть jira.companyname.com, но IP-адрес будет уже внутренний, к примеру 10.10.10.10. Их рекомендации нам не подходят. Мы пойдем другим путем. В файле /etc/hosts добавим строчку

внутренний_IP_адрес_сервера внешние_имя_сервера.

Для этого вводим следующую команду в putty нашего JIRA-сервера

vi /etc/hosts

Переходим в режим редактирования клавишей A и добавляем строчку. После чего нажимаем ESC для выхода из режима редактирования и выходим их файла с сохранением командой :wq!. Должно быть так.

Проверка состояния base URL for Gadgets в Jira SD. Запись в hostname

Устраним последнее сообщение Проверка состояния End of Life (Окончание поддержки) в вашей системе не удалась.

Проверка состояния end Of Life Check

Для этого необходимо просто обновить все плагины в Администрирование — Плагины — Управление плагинами

Jira end Of Life Check. Обновление системных плагинов

Нажимаем обновить на все плагины по очереди. И вот как должно быть после установки.

Обновление системных плагинов в JIRA. end Of Life Check

Для вступления изменений в силу останавливаем службу jira командой

/etc/init.d/jira stop

дожидаемся остановки. Должно быть так

Base URL for Gadgets. Остановка службы JIRA

Если служба JIRA не остановится в отведенное системой время, появится сообщение и будет немного другого содержания. Это норма :).

base URL for Gadgets. Jira SD остановка службы

Запускаем службу командой

/etc/init.d/jira start

команда отработает быстро, дожидаемся только полного запуска службы в фоновом режиме. Занимает примерно, в зависимости от мощности сервера, минут 3-5.

Base URL for Gadgets. Запуск службы JIRA

После перезапуска службы снова заходим в Администрирование — Система — Инструменты для устранения неисправностей и поддержки. И видим никаких сообщений нет. Все идеально.

JIRA SD Пройденные проверки

Также переходим в Администрирование — Система — Системный рабочий стол — Добавить гаджет и видим возможность загрузить все гаджеты

Проверка base URL for Gadgets. Load all gadgets

Нажимаем на Load all gadgets и получаем такой список

Проверка base URL for Gadgets. Загрузка всех гаджетов

И в конце проверяем работу команды curl -v после изменений. Теперь получаем ответ Connection to host left intact

base URL for Gadgets Connection to host left intact

На этой ноте завершим пост.

Через JIRA REST API создаю инциденты с корпоративного сайта.
С логином админа и агентов все работает, а с остальными пользователями (тянутся из LDAP) проблема.
Инциденты не создаются, response не приходит, подозреваю ,что на этапе проверки логина/пароля. В Джире в настройках в правах дал создание всем. Что еще я не учел?
html:

    <div id="wrapper">
  <h1>Create Issue</h1>
  <form id="create-form">
    Summary: <input type="text" name="summary" id="summary" value=""/>
    Description: <input type="text" name="description" id="description" value="" />
    Issue Type: <input type="text" name="type" id="type" value=""/>
    Username: <input type="text" name="user" id="user" value=""/>
    Password: <input type="password" name="pass" id="pass" value=""/>
    <input type="button" id="button" value="Create Issue"/>
  </form>
</div>
<script>
$('#button').click(function() {
   $.ajax({
     type: "POST",
     url: "jiraapi.php",
     data: $('#create-form').serialize(),
     success: function(data){
      alert(data);
     },
     dataType: "html"
  });
});
</script>

jiraapi.php

 <?php
  $base64_usrpwd = base64_encode($_POST['user'].':'.$_POST['pass']);

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, 'http://localhost:8080/rest/api/2/issue/');
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json',
                        'Authorization: Basic '.$base64_usrpwd)); 

  $arr['project'] = array( 'key' => 'TP');
  $arr['summary'] = $_POST['summary'];
  $arr['description'] = $_POST['description'];
  $arr['issuetype'] = array( 'name' => $_POST['type']);

  $json_arr['fields'] = $arr;

  $json_string = json_encode ($json_arr);
  curl_setopt($ch, CURLOPT_POSTFIELDS,$json_string);
  $result = curl_exec($ch);
  curl_close($ch);

  echo $result;
?>

alert приходит пустое окно. Если логин/пароль не верный — он присылает 401ую, а тут просто пустое без respons`a

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Jino ошибка 403 доступ запрещен
  • Jinn2usb ошибка определения дисков как исправить