Интеграция с JIRA

Devprom предоставляет очень гибкий механизм настройки для обмена данными с JIRA, основанный на мэппинге между Devprom REST API и JIRA REST API. Вы можете сопоставить модель данных Devprom модели данных JIRA удобным для вас образом, то есть выбрать сущности и атрибуты, которые необходимо синхронизировать. По умолчанию мэппинг позволяет синхронизировать следующие данные:

  • Релизы и версии
  • Пожелания и задачи, включая их состояния
  • Связи между пожеланиями
  • Приложения (атачменты), комментарии
  • Списанные часы

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

Для запуска интеграции необходимо:

  1. Выяснить URL, по которому доступен JIRA REST API, а также выбрать (или создать) учетную запись, с достаточным набором полномочий, при помощи которой будет осуществляться авторизация в JIRA.
  2. Перейти к настройкам проекта, выбрать пункт "Интеграция" и добавить новую интеграцию.
  3. Выбрать режим интеграции: читать данные из JIRA, записывать данные в JIRA или синхронизировать данные между двумя приложениями.
  4. Настроить мэппинг, дополнить его обязательными полями, сопоставить приоритеты, статусы, типы пожеланий и задач.

Настройка мэппинга

По умолчанию используется мэппинг, работающий с базовой конфигурацией JIRA Core. Другие редакции JIRA, а также ваши собственные настройки, могут накладывать дополнительные требования, например, в виде обязательных полей, которые должны быть заполнены при создании Issue или Task в JIRA.

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

Пример настройки сопоставления для состояния пожелания:

"mapping": [{"submitted":"Backlog"},{"analysis":"Selected for Development"},{"development":"In Progress"},{"resolved":"Done"}]

Сопоставление описывается набором пар, где в каждой паре записано значение в Devprom (левая часть пары) и значение в JIRA (правая часть пары). Значение в Devprom соответствует ссылочному имени состояния, которое можно найти на дополнительной вкладке на форме настройки состояния. Название состояния в JIRA можно узнать из схемы Workflow, определенной для конкретного проекта и типа Issue.

В случае с типом пожелания или типом задачи значение Devprom вы можете найти в поле "Ссылочное имя" в соответствующих справочниках в настройках проекта. Варианты значений для JIRA вы можете получить через REST API по ссылке http://<jira server>/rest/api/latest/issuetype

Чтобы добавить поля, значения которых должны быть обязательно заполнены, вам необходимо перейти к настройкам JIRA и выяснить системные названия этих полей. Необходимо сопоставить эти поля с подходящими полями Devprom. Полный перечень доступных для использования атрибутов можно найти в документации к Devprom REST API

Отладка механизма интеграции

Сразу после сохранения настроек запускается механизм интеграции, результаты работы которого видны на вкладке "Лог". Здесь можно увидеть причины, по которым данные не были перенесены из одной системы в другую. На вкладке отображается результат только последнего запуска механизма интеграции. Полный отчет о работе механизма можно найти в логе commands.log в административном разделе в меню "Логи".

Существующие ограничения

  • При создании комментариев в JIRA, их автором будет являться учетная запись, под которой работает механизм интеграции, а не реальный автор, оставивший комментарий.
  • Изменение статуса пожелания в Devprom не будет продублировано в JIRA, однако, если статус Issue изменился в JIRA, то в Devprom вы увидите актуальный статус этого Issue.