Интеграция с 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, добавит комментарий и отправит запрос на изменение её статуса.