Интегрировать Tracker с другими системами
Разработчики используют в своих процессах различные системы для сборки, тестирования, развертывания приложений и так далее. Работать с несколькими системами будет удобно, если в задаче Tracker можно будет найти ссылки на связанные ресурсы или задачи в других системах. Чтобы передавать в Tracker информацию из сторонних систем, используйте API Tracker. Подробнее о возможностях API Tracker читайте в Справочнике API.
Чтобы передавать информацию из Tracker в другую систему, можно отправлять HTTP-запросы с помощью триггеров.
Рассмотрим примеры, как можно связать Tracker с другими системами.
Отслеживать статус ревью кода
Предположим, что команда использует репозиторий Bitbucket. Когда разработчик делает пул-реквест в репозиторий, его коллеги проводят ревью кода и принимают либо отклоняют пул-реквест. Если пул-реквест принят, разработчик переводит свою задачу в статус «Можно тестировать», а если отклонен — в статус «Нужны доработки».
Статус задачи по результатам ревью можно менять автоматически через API Tracker. Однако для этого потребуется создать промежуточный сервис, который получает информацию о событии из Bitbucket, обрабатывает ее и отправляет запросы в API Tracker. Примерный алгоритм работы такой схемы:
-
Разработчик делает пул-реквест и указывает в комментарии ключ задачи. Это поможет определить, статус какой задачи требуется изменить.
-
В Bitbucket должен быть настроен веб-хук: когда ревьюер принимает или отклоняет пул-реквест, Bitbucket отправляет HTTP-запрос в промежуточный сервис.
-
Промежуточный сервис получает запрос, определяет тип события (был ли пул-реквест принят или отклонен) и извлекает из комментария к пул-реквесту ключ задачи.
-
Промежуточный сервис отправляет в API Tracker запрос на изменение статуса задачи. В URL запроса должен быть указан ключ задачи и ключ статуса. Ключ статуса можно посмотреть в настройках Tracker на вкладке Статусы задач
.Формат запроса описан в Справочнике API.
Привязать к задаче тестовый стенд
Чтобы тестировать новые функции продукта, обычно используют тестовые стенды. Если идет параллельная разработка нескольких функций, удобно создавать отдельный стенд для каждой задачи. Чтобы такой стенд было легко найти, ссылку на него нужно добавлять в задачу. Это можно делать автоматически с помощью API Tracker.
Предположим, что команда автоматизировала создание тестового стенда с помощью скрипта: скрипт загружает код приложения из отдельной ветки задачи, упаковывает его в образ Docker, затем развертывает из образа контейнер на сервере и запускает его.
С помощью того же скрипта можно добавить в задачу ссылку на развернутый стенд. Для этого:
-
В Tracker создайте новое поле задачи «Ссылка на стенд».
-
При разработке новой функции продукта создавайте в репозитории отдельную ветку, в имени которой должен быть указан ключ задачи. Ключ задачи потребуется для отправки запроса в API Tracker.
-
После того как скрипт развернул тестовый стенд, он отправляет в API Tracker запрос, который добавляет адрес стенда в поле задачи «Ссылка на стенд». В URL запроса должен быть указан ключ задачи, а в теле запроса — ключ и новое значение поля. Ключ поля можно посмотреть в настройках Tracker на вкладке Поля
.Формат запроса описан в Справочнике API.
Отправлять оповещения в мессенджер
Для быстрого оповещения сотрудников о важных событиях удобно использовать мессенджеры. Если у мессенджера есть API, в Tracker можно настроить триггер, который отправляет в API мессенджера HTTP-запросы при наступлении определенных событий. Например, если в очереди создается ошибка с критическим приоритетом. Что такое REST API.
Примеры настройки триггеров для отправки уведомлений в Slack и Telegram приведены в разделе Интеграция с мессенджерами.