Поделиться через


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

Azure DevOps Services

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

Примечание.

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

Предварительные условия

  • Учетная запись Slack с разрешением на установку приложения в рабочую область Slack.
  • Проект Azure DevOps с разрешениями администраторов коллекции проектов или администраторов проектов .

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

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

Снимок экрана: приветственное сообщение о приложении Azure Pipelines.

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

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

Снимок экрана: сообщение запроса для входа.

Подписка на конвейеры

Чтобы начать мониторинг всех конвейеров в проекте, введите /azpipelines subscribe <project url> в канал, заменив <project url> на URL-адрес вашего проекта в Azure DevOps. URL-адрес проекта может ссылаться на любую страницу проекта, кроме страниц конвейера, например /azpipelines subscribe https://dev.azure.com/myorg/myproject/.

Вы можете отслеживать определенный конвейер с помощью /azpipelines subscribe <pipeline url>. URL-адрес вашей конвейерной системы может ссылаться на любую страницу внутри конвейера, где в URL-адресе присутствует definitionId или buildId/releaseId. Например:

  • /azpipelines subscribe https://dev.azure.com/myorg/myproject/_build?definitionId=123
  • /azpipelines subscribe https://dev.azure.com/myorg/myproject/_release?definitionId=123&view=mine&_a=releases

Команда subscribe подписывается на следующие уведомления по умолчанию:

  • Для конвейеров YAML:
    • Изменено состояние этапа выполнения
    • Этап выполнения, ожидающий утверждения
  • Для классических конвейеров сборки сборки завершены
  • Для конвейеров классических выпусков:
    • Развертывание релиза началось
    • Развертывание новой версии завершено
    • Развертывание выпуска ожидает утверждения

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

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

Чтобы управлять подписками для канала, введите /azpipelines subscriptions. Эта команда содержит список всех текущих подписок для канала и позволяет добавлять или удалять подписки.

Снимок экрана: список подписок.

Примечание.

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

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

Подписки по умолчанию не имеют применённых фильтров, но вы можете настроить их в соответствии с вашими предпочтениями. Например, может потребоваться получать уведомления только для неудачных сборок или развертываний в рабочей среде. Фильтры можно применить для настройки сообщений, которые вы получаете в канале.

Чтобы настроить подписку, выполните следующее:

  1. /azpipelines subscriptions Выполните команду, чтобы вывести список всех подписок.
  2. Выберите Добавить подписку.
  3. Выберите событие, на которое вы хотите подписаться, а затем выберите нужную конфигурацию.
  4. Выберите Сохранить.

Например, чтобы получать уведомления только для неудачных сборок, выберите "Сбой " в разделе "Состояние сборки".

Снимок экрана: настройка подписки.

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

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

Снимок экрана, показывающий одобрение потока в Slack.

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

Снимок экрана: конвейер предварительного развертывания, утвержденный в Slack.

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

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

Внимание

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

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

Приложение Azure Pipelines для Slack поддерживает следующие команды:

Команда Описание
/azpipelines subscribe <pipeline url or project url> Подписываться на конвейер или все конвейеры в проекте и получать уведомления.
/azpipelines subscriptions Добавление или удаление подписок для этого канала.
/azpipelines feedback Сообщите о проблеме или предложите функцию.
/azpipelines help Получите справку по командам.
/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 . Чтобы включить этот параметр, перейдите к политикам>безопасности>параметров организации и включите доступ к сторонним приложениям через OAuth.

Снимок экрана, на котором показано, как включить сторонний доступ через OAuth.

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

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

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

    Снимок экрана: выбор каталога конвейера.

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

  4. Выберите кнопку Sign in. Если вы перенаправляетесь на страницу согласия, убедитесь, что каталог, отображаемый рядом с адресом электронной почты, совпадает с тем, на который вы вошли.