Свойства сущности

Доступность:Jira 6.2 и более поздние.

На этой странице представлен обзор свойств сущности Jira.

Для документации облака Atlassian по свойствам Jira Entity Properties перейдите по ссылке: Хранение данных без базы данных.

Что такое свойства сущности?

Свойства сущности позволяют приложениям добавлять хранилища ключей / значений в сущности Jira, такие как задачи или проекты. Эти значения могут быть проиндексированы Jira и запрошены через REST API или JQL.

Как хранить данные в отношении сущности с помощью REST?

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

  • Информацию о том, как управлять свойствами других сущностей Jira (например, проектов), см. В документации Jira REST API.
  • Плагины P2 могут хранить / извлекать данные с помощью IssuePropertyService, которые вы можете ввести IssuePropertyService с помощью Atlassian Spring Scanner.

Чтобы изменить, добавить или удалить свойства, пользователь, выполняющий запрос (request), должен иметь разрешение на редактирование сущности. Например, чтобы добавить новое свойство для задачи ENPR-4, вам необходимо получить разрешение на редактирование задачи. Чтобы получить свойство, пользователь должен иметь разрешения на чтение для сущности.

Пример 1: Хранение данных

В следующем примере будет храниться объект JSON {«content»: «Тестирует работает ли в облаке Jira», «завершено»: 1} против задачи (issue) ENPR-4 с ключем tasks.


curl -X PUT \
  -H "Content-type: application/json" \
  -d '{"content":"Test if works on JIRA Cloud", "completed" : 1}' \
  https://jira-instance1.net/rest/api/2/issue/ENPR-4/properties/tasks

Обратите внимание на следующее:

  • Длина ключа key не должна превышать 255 символов.
  • Значение value должно быть допустимым объектом JSON и иметь максимальный размер 32 КБ.

Пример 2: Получение данных

В следующем примере показано, как получить все свойства, сохраненные в отношении задачи:


curl -X GET https://jira-instance1.net/rest/api/2/issue/ENPR-4/properties/

Ответ от сервера будет содержать ключи и URL-адреса всех свойств задачи ENPR-4.


{
   "keys" : [
      {
         "key" : "tasks",
         "self" : "https://jira-instance1.net/rest/api/2/issue/ENPR-4/properties/tasks"
      }
   ]
}

Пример 3: Удаление свойства

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


curl -X DELETE https://jira-instance1.net/rest/api/2/issue/ENPR-4/properties/tasks

Как сделать свойства сущности доступными для поиска?

Приложения Jira Server могут предоставить дескриптор модуля, который сделает свойства задачи доступными с помощью JQL. Например, чтобы индексировать данные из первого примера, приложения Jira Server могут предоставить следующий дескриптор модуля:


<index-document-configuration 
  entity-key="IssueProperty" 
  key="jira-issue-tasklist-indexing">
  <key property-key="tasks">
    <extract path="content" type="text" />
  </key>
</index-document-configuration>

Дескрипторы, показанные выше, заставят Jira индексировать объект  content свойств задачи  задач (tasks) как текст.

Доступные типы данных индекса:

  • number - индексируется как число и позволяет упорядочивать диапазон и искать в этом поле.
  • text - токенизируется перед индексированием и позволяет искать определенные слова.
  • string - индексируется как есть и позволяет искать только точную фразу.
  • date - индексируется как дата и позволяет искать и упорядочивать диапазон дат. Ожидаемый формат даты: [YYYY]-[MM]-[DD]. Формат ожидаемого формата даты - [YYYY]-[MM]-[DD]T[hh]:[mm]:[ss] с дополнительным смещением от UTC: +/- [чч]: [мм] или Z без смещения , Для справки см. Стандарт ISO_8601.

Индексированные данные доступны для поиска в JQL. Результат JQL-запроса - issue.property \ [tasks \]. Completed = 1 И issue.property \ [tasks \]. Content ~ "works" - показан на скриншоте ниже.

РИСУНОК

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

 

По материалам Atlassian JIRA  Server Developer Entity properties