Перейти к содержанию

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


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

Создание интеграции с Redmine

Для создания интеграции перейдите в настройки проекта, откройте раздел Интеграции и нажмите кнопку Создать возле интеграции с Redmine.

Установка соединения

Для подключения к Redmine необходимо заполнить следующие поля:

  • URL-адрес веб-страницы — адрес сервера Redmine. Например, https://redmine.example.com.
  • API-токен Redmine — токен пользователя, от имени которого GitFlic будет выполнять запросы к Redmine.

Для проверки установленного соединения воспользуйтесь соответствующей кнопкой в форме настройки интеграции.

Триггеры

В данном разделе выбираются события, после которых должна срабатывать интеграция:

  • При работе с коммитами;
  • При работе с запросами на слияние.

Задачу Redmine можно упомянуть:

  • в сообщении коммита;
  • в заголовке запроса на слияние;
  • в описании запроса на слияние.

Доступны следующие действия:

  • Включить комментарии. Интеграция автоматически добавит в задачу Redmine комментарий с информацией о событии, в котором была упомянута задача. Для выбора состава комментария доступны стандартный и расширенный варианты.
  • Изменять статус задачи. Интеграция автоматически переведёт упомянутую задачу в выбранный статус при обнаружении соответствующего действия в тексте коммита или запроса на слияние.
  • ID целевого статуса. Числовой идентификатор статуса Redmine, в который необходимо переводить задачу.

При включении изменения статуса необходимо явно указать ID целевого статуса. Интеграция не выбирает финальный статус задачи автоматически.

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

Закрывает GF-123

или для стандартной нумерации Redmine:

Закрывает №123

Для изменения статуса нескольких задач укажите каждую задачу отдельно:

Закрывает №123
Закрывает №124

Сопоставление задач в Redmine

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

  • Регулярное выражение для задач в Redmine. Необязательное поле, позволяющее настроить выражения, при обнаружении которых интеграция должна изменить статус задачи. Например: Закрывает, Исправляет, Решает, Closes, Fixes или Resolves.
  • Префикс для задач в Redmine. Обязательное поле, определяющее формат номеров задач.

Если в Redmine используются идентификаторы с префиксом, укажите префикс в формате ПРЕФИКС#.

Например, значение:

GF#

позволяет распознавать следующие упоминания:

GF-123
GF123

Стандартная нумерация задач Redmine

В стандартной конфигурации Redmine задачи имеют сквозные числовые идентификаторы без буквенного префикса: 1, 2, 3 и так далее.

В таком случае в поле Префикс для задач в Redmine необходимо указать символ:

#

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

Например:

Реализована выгрузка отчёта, задача №4

В данном случае интеграция распознает упоминание и выполнит запрос к задаче Redmine с идентификатором 4.

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

Закрыл задачу №4

или:

Закрывает №4

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

Следующие варианты не будут распознаны как упоминание задачи:

Исправлена задача 4
Исправлена задача #4

Корректный вариант:

Исправлена задача №4

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

Пример работы интеграции

Пусть в Redmine существует задача с идентификатором 4, а в настройках интеграции указаны:

Префикс для задач в Redmine: #
ID целевого статуса: 3

Пользователь создаёт коммит с сообщением:

Исправлена ошибка при сохранении профиля, задача №4

Если комментарии включены, интеграция добавит в задачу 4 комментарий с информацией о коммите.

Чтобы дополнительно перевести задачу в статус с ID 4, необходимо указать действие:

Исправлена ошибка при сохранении профиля
Закрывает №4

После обработки события GitFlic найдёт задачу Redmine с идентификатором 4, добавит комментарий и отправит запрос на изменение её статуса.