Создание перехватчика службы для Azure DevOps с помощью Slack

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

В этой статье вы узнаете, как публиковать сообщения в Slack в ответ на события в организации Azure DevOps, например завершенные сборки, изменения кода, запросы на вытягивание, выпуски, изменения рабочих элементов и многое другое.

Примечание.

Для Azure DevOps Services рекомендуется использовать следующий набор приложений, которые предлагают функции для интеграции с Slack.

приложение Azure Boards для Slack;

Приложение Azure Boards для Slack помогает легко создавать и отслеживать рабочие элементы из каналов Slack. Рабочие элементы можно создавать с помощью команды косой черты или использовать действия сообщения для преобразования бесед в канал в рабочие элементы. Вы также можете настроить подписки и управлять ими для получения уведомлений в канале при каждом создании или обновлении рабочих элементов.

приложение Azure Pipelines для Slack;

Приложение Azure Pipelines для Slack помогает легко отслеживать события в конвейерах. Вы можете настроить и управлять подписками для завершенных сборок, выпусков, ожидающих утверждений и многое другое из приложения, а также получать уведомления об этих событиях в своих каналах. Вы также можете утвердить развертывания выпусков из каналов.

Приложение Azure Repos для Slack

Приложение Azure Repos для Slack помогает легко отслеживать события в репозиториях. Вы можете настроить и управлять подписками для фиксаций кода, создания и обновления PR, а также получать уведомления об этих событиях в своих каналах.

Необходимые компоненты

Ознакомьтесь с документацией Slack, отправляя сообщения с помощью входящих веб-перехватчиков , чтобы понять процесс использования веб-перехватчиков для отправки информации в канал Slack.

Создание пользовательского приложения в Slack

  1. Создание нового приложения SlackСоздание приложения slack

  2. Активация входящего веб-перехватчика и добавление нового веб-перехватчика в нужную рабочую область Снимок экрана: входящий веб-перехватчик.

    Снимок экрана: переключатель веб-перехватчика.

  3. Выберите канал, для которого должен быть создан веб-перехватчик.

    Снимок экрана: создание веб-перехватчика.

  4. Скопируйте URL-адрес веб-перехватчика и перейдите в Azure DevOps.

Создание подписки на перехватчик службы в организации

  1. Перейдите на страницу "Перехватчики службы проектов".

    https://{orgName}/{project_name}/_settings/serviceHooks

    Снимок экрана: страница администрирования проекта.

    Выберите Создать подписку.

  2. Выберите типы событий, которые нужно отображать в канале Slack.

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

  3. Вставьте URL-адрес веб-перехватчика из созданной интеграции Slack и нажмите кнопку Готово.

    Снимок экрана: диалоговое окно

    Когда событие происходит в проекте, уведомление появляется в канале Slack вашей команды.

    Снимок экрана: уведомление в канале Slack.

Вопросы и ответы

Вопрос. Почему у меня нет событий запроса на вытягивание в качестве параметра при настройке триггера?

Ответ. Запросы на вытягивание доступны только в проектах, использующих Git. Если в проекте используется TFVC, триггеры события извлечения недоступны, а событие кода называется "Код установлен в", а не "Код отправлен".

Вопрос. Как получить несколько событий для отображения в канале Slack?

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