Трекеры

Интеграция с трекерами может быть полезна при внедрении Devprom ALM в организацию, где уже используется какой-то трекер. Например, разработку требований можно вести в Devprom ALM, а разработкой управлять в используемом трекере.

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

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

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

Для настройки синхронизации или миграции данных между Devprom ALM и трекерам необходимо перейти к настройкам проекта и добавить нужную интеграцию. На первой вкладке нужно указать параметры подключения:

JIRA

URL, например, https://jira.atlassian.com

Проект - уникальный идентификатор проекта, например, JRASERVER

Имя пользователя и пароль для аутентификации.

Redmine

URL, например, https://redmine.openpne.jp

Проект - уникальный идентификатор проекта, например, op3

HTTP-заголовки, необходимо скопировать ключ API в Redmine (свой для каждого пользователя) и указать его после X-Redmine-API-Key:

YouTrack

URL, например, https://youtrack.jetbrains.com

Проект - уникальный идентификатор проекта, например, JT

Имя пользователя и пароль для аутентификации.

Gitlab

URL, например, https://gitlab.com

ИД Проекта - уникальный идентификатор проекта, который указан под названием, на странице проекта:

Токен для аутентификации можно сформировать в разделе Настройки пользователя, в меню Токены доступы (Access Tokens)

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

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

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

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

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

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

"mapping": [{"submitted":"Новая"},{"planned":"В работе"},{"State_5bb6079d99e47":"Ожидание клиента"},{"State_5bb6082cb4fd6":"Ответ клиента"},{"State_5bb6079d99e47":"Ожидание оплаты счета"},{"resolved":"Решена"}{"submitted":"*"}]

Здесь приводится мэппинг статусов пожеланий, в каждой паре значений справа - названия статусов в трекере, слева - кодовое имя в Devprom ALM.

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

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

JIRA Redmine
Приоритет https://jira.atlassian.net/rest/api/latest/priority https://redmine.openpne.jp/enumerations/issue_priority.json
Статус Issue https://jira.atlassian.net/rest/api/latest/status https://redmine.openpne.jp/projects/op3/issue_categories.json
Тип Issue https://jira.atlassian.net/rest/api/latest/issuetype https://redmine.openpne.jp/issue_statuses.json

Мэппинг пользователей осуществляется на основе Email. Перед синхронизацией необходимо создать учетные записи пользователей.

Настройка мэппинга пользовательских полей

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

Redmine

Вам необходимо выяснить идентификатор пользовательского поля в Redmine. Это можно сделать открыв по ссылке карточку задачи и добавив в конце .json, например, https://redmine/issues/1452.json

В разделе "custom_fields" найдите значение поля id. Используйте его в подстановке вида:

"TEST": "issue.custom_fields:(id=42).value"