Использование Azure Pipelines с Slack

Azure DevOps Services

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

Примечание.

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

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

  • В Slack необходимо иметь разрешение на установку приложения в рабочую область Slack.
  • Для Azure DevOps необходимо быть в группе "Коллекция проектов" Администратор istrators или Project Администратор istrators, чтобы настроить подписку Slack.

Установка приложения Azure Pipelines

Перейдите к приложению Azure Pipelines Slack, чтобы установить приложение Azure Pipelines в рабочую область Slack. После добавления вы увидите приветственное сообщение из приложения, как показано ниже. Используйте дескриптор /azpipelines для начала взаимодействия с приложением.

A screenshot showing the Azure Pipelines app welcome message.

Подключение к конвейеру

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

A screenshot showing the sign-in prompt message.

Чтобы начать мониторинг всех конвейеров в проекте, используйте следующую команду косой черты внутри канала:

/azpipelines subscribe [project url]

URL-адрес проекта может ссылаться на любую страницу проекта (за исключением URL-адресов конвейеров). Например, подписка /azpipelines https://dev.azure.com/myorg/myproject/

Вы также можете отслеживать определенный конвейер с помощью следующей команды:

/azpipelines subscribe [pipeline url]

URL-адрес конвейера может ссылаться на любую страницу в конвейере с definitionId URL-адресом или url-адресом buildId/releaseId . Например: /azpipelines subscribehttps://dev.azure.com/myorg/myproject/_build?definitionId=123, or: /azpipelines subscribehttps://dev.azure.com/myorg/myproject/_release?definitionId=123& view=mine&_a=releases

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

Конвейеры сборки Конвейеры выпуска Конвейеры YAML
Готовое уведомление о сборке Начало развертывания выпуска, развертывание выпуска завершено и утверждение развертывания выпуска ожидающих уведомлений Изменение состояния этапа выполнения и ожидание уведомлений об утверждении

A screenshot showing notification example.

Управление подписками

Чтобы управлять подписками для канала, используйте следующую команду: /azpipelines subscriptions

Эта команда содержит все текущие подписки для канала и позволяет добавлять или удалять подписки.

Примечание.

Администраторы группы не могут удалять или изменять подписки, созданные администраторами проекта.

A screenshot showing a list of subscriptions.

Настройка подписок

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

  1. /azpipelines subscriptions Выполните команду, чтобы вывести список всех подписок.

  2. Выберите Добавить подписку.

  3. Выберите событие, на которое вы хотите подписаться, а затем выберите нужную конфигурацию.

  4. Выберите Сохранить, когда вы закончите.

Пример. Получение уведомлений только для неудачных сборок

A screenshot showing a list how to add a custom new subscription.

Утверждение развертываний

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

A screenshot showing pipeline approval in Slack.

Приложение Azure Pipelines для Slack позволяет обрабатывать все проверка и сценарии утверждения, доступные на портале Azure Pipelines. К ним относятся один утверждающий, несколько утверждающих и командное утверждение. У вас есть возможность утвердить запросы отдельно или от имени команды.

A screenshot showing a predeployment pipeline approved in Slack.

Удаление всех подписок

Чтобы отключить канал, можно использовать следующие команды, чтобы отменить подписку из всех конвейеров в проекте. Например: /azpipelines unsubscribe all https://dev.azure.com/myorg/myproject.

/azpipelines unsubscribe all [project url]

Важно!

Эта команда может выполняться только администраторами проектов.

Справочник по командам

Ниже приведены все команды, поддерживаемые приложением Azure Pipelines для Slack:

Команда с косой чертой Функция
/azpipelines подписка [url-адрес конвейера/ URL-адрес проекта] Подписка на конвейер или все конвейеры в проекте для получения уведомлений
Подписки /azpipelines Добавление или удаление подписок для этого канала
/azpipelines feedback Сообщите о проблеме или предложите функцию
Справка /azpipelines Получение справки по командам косой черты
/azpipelines signin Вход в учетную запись Azure Pipelines
/azpipelines signout Выход из учетной записи Azure Pipelines
/azpipelines unsubscribe all [project url] Удаление всех конвейеров (принадлежащих к проекту) и связанных с ними подписок из канала

Уведомления в частных каналах

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

Примечание.

  • Приложение Azure Pipelines для Slack можно использовать только с проектом, размещенным в Azure DevOps Services в настоящее время.
  • Пользователь должен быть администратором проекта, содержащего конвейер для настройки подписок.
  • Уведомления в настоящее время не поддерживаются в прямых сообщениях
  • Утверждения развертывания, которые имеют "повторное удостоверение утверждающего перед завершением политики утверждения", не поддерживаются
  • Доступ к сторонним приложениям через OAuth должен быть включен для получения уведомлений для организации в Azure DevOps (организация Параметры — безопасность —>> политики)

Устранение неполадок

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

Произошла ошибка. Повторите попытку позже

Приложение Azure Pipelines использует протокол проверки подлинности OAuth и требует включения доступа к сторонним приложениям через OAuth . Чтобы включить этот параметр, перейдите к политикам организации Параметры> Security> и включите доступ к сторонним приложениям через OAuth для организации.

A screenshot showing how to enable third party access via OAuth.

Сбой конфигурации. Убедитесь, что организация существует и у вас есть достаточные разрешения

Войдите из Azure DevOps, перейдя по этому URL-адресу: https://aka.ms/VsSignout

Откройте окно браузера инкогнито инкогнито и перейдите к https://aex.dev.azure.com/me ней и войдите в систему. Выберите каталог, содержащий организацию, в которой находится конвейер, на который вы хотите подписаться.

A screenshot showing how to select your pipeline directory.

Используя тот же браузер, откройте новую вкладку и перейдите к https://slack.comней. Войдите в рабочую область с помощью веб-клиента, а затем выполните /azpipelines signout команду, за которой следует./azpipelines signin

Sign in Нажмите кнопку, и вы будете перенаправлены на страницу согласия, как показано в примере ниже. Убедитесь, что каталог, отображаемый рядом с адресом электронной почты, совпадает с выбранным на предыдущем шаге. Нажмите кнопку "Принять" , чтобы завершить процесс входа.

A screenshot showing how to allow pipelines slack integration.