Введение
Часто при разработке с gitlab (github), в случае если используется собственная система учета задач, хочется открывать задания пользователей из репозитория gitlab по щелчку мыши и чтобы сразу открывалась задача источник. Мы в своей работе используем gitlab - для разработки и Управление IT-отделом 8 - для ведения списка заданий.
Давайте рассмотрим как настроить открытие задач gitlab в конфигурации. Для github это же можно настроить аналогично.
Разработку мы ведем в EDT, а в качестве удаленного git-репозитория мы используем gitlab. Он позволяет делать бесплатные приватные репозитории, работать с pipeline ну и много чего еще.
Настройка на стороне gitlab
Переходим в нужный репозиторий в Настройки > Интеграции и включаем Custom Issue Tracker
Далее вводим:
Project url - адрес личного кабинета в конфигурации Управление IT-отделом 8:
Issue url - адрес конкретной задачи (тикета) в личном кабинете. Обратите внимание, что :id означает, что это переменная, которая будет заменена на реальный номер тикета.
New issue url - адрес создания новой задачи (тикета).
Отлично. На стороне gitlab все настроено. Теперь если в описание коммита добавить какую-то подстроку на английском тире и номер тикета, то gitlab будет понимать, что перед ним номер тикета из конфигурации Управление IT-отделом 8.
Пример того как выглядит коммит в gitlab:
Обратите внимание, что мы в качестве префикса выбрали слово IT, которое описывает что исправляет commit. Теперь щелкнем по этой ссылке и мы перейдем в Управление IT-отделом 8, для просмотра информации о том, что мы исправили.
Т.е. мы открыли задание-источник, которое породило тот коммит.
Пример того как это работает
В результате в конце получаем следующее:
Как работаем мы
- Все пожелания, ошибки, новый функционал и т.д. Мы фиксируем в Управление IT-отделом 8.
- Разработка в GIT ведется в ветке develop. Если планируется работа по задаче, делаем новую ветку, называем ее future/номер или bugfix/номер и в ней ведем разработку. Где номер - это номер задачи из нашей рабочей системы в Управление IT-отделом 8 (bugfix - баг, feature - новый функционал, custom - не используется), а дальше номер тикета. Пример bugfix/6443 (означает баг из задачи 6443).
- После того как задача выполнена, коммит помечаем таким образом: в начале префикс IT потом "тире", а потом номер задачи из Управление IT-отделом 8. Это позволяет из коммита переходить в треккер в личный кабинет как выше. Пример коммита: "IT-6443 Исправлена ошибка с нумерацией"
- После пуша коммита, возвращаемся в ветку develop и делаем операцию "Слить" в EDT, выбирая ветку bugfix/6443. Все изменения и доработки переносятся в ветку develop.
- После этого gitlab запускает тесты и pipeline gitlab ci, которые проверяют функциональность на ошибки.