Интегрировать Трекер с другими системами

Разработчики используют в своих процессах различные системы для сборки, тестирования, развертывания приложений и так далее. Работать с несколькими системами будет удобно, если в задаче Трекера можно будет найти ссылки на связанные ресурсы или задачи в других системах. Чтобы передавать в Трекер информацию из сторонних систем, используйте API Яндекс Трекера. Подробнее о возможностях API Яндекс Трекера читайте в Справочнике API.

Чтобы передавать информацию из Трекера в другую систему, можно отправлять HTTP-запросы с помощью триггеров.

Рассмотрим примеры, как можно связать Трекер с другими системами.

Отслеживать статус ревью кода

Предположим, что команда использует репозиторий Bitbucket. Когда разработчик делает пул-реквест в репозиторий, его коллеги проводят ревью кода и принимают либо отклоняют пул-реквест. Если пул-реквест принят, разработчик переводит свою задачу в статус «Можно тестировать», а если отклонен — в статус «Нужны доработки».

Статус задачи по результатам ревью можно менять автоматически через API Яндекс Трекера. Однако для этого потребуется создать промежуточный сервис, который получает информацию о событии из Bitbucket, обрабатывает ее и отправляет запросы в API Яндекс Трекера. Примерный алгоритм работы такой схемы:

  1. Разработчик делает пул-реквест и указывает в комментарии ключ задачи. Это поможет определить, статус какой задачи требуется изменить.

  2. В Bitbucket должен быть настроен веб-хук: когда ревьюер принимает или отклоняет пул-реквест, Bitbucket отправляет HTTP-запрос в промежуточный сервис.

  3. Промежуточный сервис получает запрос, определяет тип события (был ли пул-реквест принят или отклонен) и извлекает из комментария к пул-реквесту ключ задачи.

  4. Промежуточный сервис отправляет в API Яндекс Трекера запрос на изменение статуса задачи. В URL запроса должен быть указан ключ задачи и ключ статуса. Ключ статуса можно посмотреть в настройках Трекера на вкладке Статусы задач.

    Формат запроса описан в Справочнике API.

Привязать к задаче тестовый стенд

Чтобы тестировать новые функции продукта, обычно используют тестовые стенды. Если идет параллельная разработка нескольких функций, удобно создавать отдельный стенд для каждой задачи. Чтобы такой стенд было легко найти, ссылку на него нужно добавлять в задачу. Это можно делать автоматически с помощью API Яндекс Трекера.

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

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

  1. В Трекере создайте новое поле задачи «Ссылка на стенд».

  2. При разработке новой функции продукта создавайте в репозитории отдельную ветку, в имени которой должен быть указан ключ задачи. Ключ задачи потребуется для отправки запроса в API Яндекс Трекера.

  3. После того как скрипт развернул тестовый стенд, он отправляет в API Яндекс Трекера запрос, который добавляет адрес стенда в поле задачи «Ссылка на стенд». В URL запроса должен быть указан ключ задачи, а в теле запроса — ключ и новое значение поля. Ключ поля можно посмотреть в настройках Трекера на вкладке Поля.

    Формат запроса описан в Справочнике API.

Отправлять оповещения в мессенджер

Для быстрого оповещения сотрудников о важных событиях удобно использовать мессенджеры. Если у мессенджера есть API, в Трекере можно настроить триггер, который отправляет в API мессенджера HTTP-запросы при наступлении определенных событий. Например, если в очереди создается ошибка с критическим приоритетом.

Примеры настройки триггеров для отправки уведомлений приведены в разделе Интеграция с мессенджерами.