Интеграция GitHub с Битрикс24 (с уходом от Jira): выгрузка коммитов в комментарии к задачам Битрикс24

Сегодня поговорим о разработке, системе контроля версий Git и интеграции GitHub с Битрикс24. В этой статье попробуем разобраться, почему важно сохранять историю изменений проекта, как выгрузка этих изменений в Битрикс24 помогает бизнесу и опишем настройку интеграции GitHub и CRM.

Интеграция GitHub с Битрикс24 (с уходом от Jira): выгрузка коммитов в комментарии к задачам Битрикс24

1. Как связать разработку и менеджмент с помощью интеграции GitHub?

К нам обратился заказчик — агентство полного цикла по разработке. Он очень активно использовал Jira для работы над проектами с настроенной двусторонней интеграцией Jira и GitHub, которая позволяла переходить прямо из GitHub в задачи Jira, а в комментарии к задачам выгружала ссылки на соответствующие коммиты. Заказчик принял решение мигрировать в Битрикс24, но соответствующего функционала в CRM не предусмотрено, поэтому он обратился к нам.

Давайте сначала разберемся, что такое "коммит". Начнем с того, что по стандартам отрасли в разработке принято использовать систему контроля версий - Git, и один из популярных сервисов для этого - GitHub. В нем разработчик создает репозиторий для проекта (хранилище файлов), далее в эти файлы вносятся и сохраняются изменения под конкретные задачи. Задокументированное изменение файлов в проекте - это и есть коммит

Интеграция GitHub с Битрикс24 (с уходом от Jira): выгрузка коммитов в комментарии к задачам Битрикс24

Важно здесь то, что при ошибке разработчика можно легко вернуться к предыдущей версии файла, откатив коммит. А сама система коммитов помогает понять сотруднику и команде, какие изменения и когда вносились в проект

Проблема тут в том, что GitHub — это инструмент для разработки. Он неудобен для менеджмента и отслеживания истории изменений. Иными словами, нет понимания, на какой стадии находится проект в конкретный промежуток времени. Это мешает, например, проджекту отчитаться о прогрессе владельцу проекта. К тому же, задачи по проекту ставятся в Бирикс24, а без связки GitHub с CRM разработчик запутается, какие коммиты к чему относятся. Поиск коммита, который привел к багам, непосредственно в GitHub займет больше времени, чем если бы искать его в конкретной задаче, над которой он вел работу.

Кейс про миграцию из Jira в Битрикс24 читайте здесь.

Логика работы интеграции следующая:

Менеджер ставит задачу в Битрикс24. Разработчик берет в работу задачу в Битрикс24, затем он создает ветку в репозитории, в названии которой указывается ID задачи. Так Пинкит распознает, какой коммит куда выгружать. Далее при добавлении коммита в GitHub он автоматически привязывается к комментарию в задаче.

Так можно отследить всю историю коммитов по задаче, не выходя из Битрикс24 и не авторизуясь в GitHub (а у менеджера может и вообще не быть там учетки).

Интеграция GitHub с Битрикс24 (с уходом от Jira): выгрузка коммитов в комментарии к задачам Битрикс24

Это техническое решение было реализовано в недельном спринте. Далее разберем базовые настройки интеграции.

2. Настройка интеграции GitHub и Битрикс24

2.1. На шаге 1 выбираем GitHub, действие — "Добавлен коммит", подключаем доступ. Важно обратить внимание, что под этим доступом были видны нужные репозитории в GitHub.

Интеграция GitHub с Битрикс24 (с уходом от Jira): выгрузка коммитов в комментарии к задачам Битрикс24

2.2. На шаге 2 настраиваем дополнительные инструменты (ищем задачу, к которой относится данный коммит).

2.3. На шаге 3 добавляем комментарий к задаче в Битрикс24:

Интеграция GitHub с Битрикс24 (с уходом от Jira): выгрузка коммитов в комментарии к задачам Битрикс24

Исходное условие у нас такое, что изначально создается задача в Битрикс24, а уже затем под нее создается ветка для коммитов. Таким образом, на шаге 3 нужно только обновлять задачу, а не создавать ее с нуля.

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

Интеграция в обратную сторону тоже возможна: в каждый коммит можно передать ссылку на соответствующую задачу, чтобы разработчик мог перейти в задачу напрямую из GitHub и не искать ее вручную. Это функционал, аналогичный связке GitHub и Jira.

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

Если вам интересно, добавить и протестировать интеграцию можно тут.

Алексей Окара, основатель Пинол и продакт-менеджер Пинкит
Интеграция GitHub с Битрикс24 (с уходом от Jira): выгрузка коммитов в комментарии к задачам Битрикс24
11
Начать дискуссию