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

Azure DevOps Services

Если вы используете Slack, вы также можете использовать приложение Azure Repos для Slack, чтобы легко отслеживать репозитории Azure Repos. Вы можете настроить подписки и управлять ими для получения уведомлений в канале при отправке или синхронизации кода, а также при создании или обновлении запроса на вытягивание либо при попытке слияния. Это приложение поддерживает события Git и системы управления версиями Team Foundation (TFVC).

Изображение уведомлений

Прочитайте эту статью, чтобы узнать, как:

  • Добавление приложения Azure Repos в рабочую область Slack
  • Подключение приложения Azure Repos к репозиториям
  • Управление подписками на события, связанные с репозиторием, в канале Slack
  • Эффективное использование фильтров для настройки подписок
  • Получение уведомлений в частных каналах Slack

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

Примечание

  • Уведомления в настоящее время не поддерживаются в прямых сообщениях.
  • В настоящее время вы можете связать приложение Azure Repos для Slack только с проектом, размещенным на Azure DevOps Services.

Добавление приложения Azure Repos в рабочую область Slack

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

  2. После добавления вы увидите приветственное сообщение из приложения, как показано на следующем рисунке.

    Приветственное сообщение

  3. Используйте дескриптор /azrepos Slack для взаимодействия с приложением. Полный список команд приведен в разделе Справочник по командам этой статьи.

Подключение приложения Azure Repos к репозиториям

  1. После установки приложения в рабочей области Slack подключитесь и выполните проверку подлинности для Azure Repos с помощью /azrepos signin команды .

    Изображение запроса на вход

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

    /azrepos subscribe [project url]
    

    URL-адрес проекта может быть любой странице в проекте (кроме URL-адресов репозиториев).

    Например:

    /azrepos subscribe https://dev.azure.com/myorg/myproject/
    

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

    /azrepos subscribe [repository url]
    

    URL-адрес репозитория может быть любой странице в репозитории с именем репозитория.

    Например, для репозиториев Git используйте:

    /azrepos subscribe https://dev.azure.com/myorg/myproject/_git/myrepository
    

    Для репозиториев TFVC используйте:

    /azrepos subscribe https://dev.azure.com/myorg/myproject/_versionControl
    

    Примечание

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

  3. Команда subscription позволяет начать работу с подпиской по умолчанию. Для репозиториев Git канал подписывается на событие создания запроса на вытягивание (с целевой ветвью = master), а для репозиториев TFVC канал подписывается на событие Code checked in .

    Сообщение о создании подписок по умолчанию

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

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

/azrepos subscriptions    

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

[! ПРИМЕЧАНИЕ. Администраторы команд не могут удалять или изменять подписки, созданные администраторами проекта.

Просмотр подписок

Эффективное использование фильтров для настройки подписок

Когда пользователь подписывается на репозиторий с помощью /azrepos subscribe команды , создается подписка по умолчанию. Часто пользователям приходится настраивать эти подписки. Например, пользователи могут захотеть получать уведомления только в том случае, если у PRs есть конкретный рецензент.

Ниже показано, как настроить подписки.

  1. Выполните команду /azrepos subscriptions.
  2. Если в списке подписок есть подписка, которая является нежелательной или должна быть изменена (например, создание шума в канале), нажмите кнопку Удалить .
  3. Нажмите кнопку Добавить подписку .
  4. Выберите требуемый репозиторий и нужное событие.
  5. Выберите соответствующие фильтры для настройки подписки.

Пример. Получение уведомлений только в том случае, если моя команда находится в списке рецензентов для запроса на вытягивание

У рецензента есть моя команда

Пример. Сообщите мне, когда попытки слияния завершаются сбоем из-за нарушения политики

Попытка слияния не увенчалась успехом — из-за нарушения политики

Примечание

  • Все фильтры обычно являются раскрывающимся списком. Однако если в раскрывающемся списке было больше 100 элементов, пользователям будет предложено ввести значения вручную.
  • Для события TFVC Code Checked in фильтр В пути должен иметь формат $/myproject/path.

Предварительные версии URL-адресов запросов на вытягивание

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

Распаковка URL-адреса

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

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

  • Часто пользователи хотят очистить свой канал, удалив репозитории и подписки. Для этого используйте приведенную ниже команду.

      /azrepos unsubscribe all [project url]
    

    Например:

      /azrepos unsubscribe all https://dev.azure.com/myorg/myproject
    

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

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

В следующей таблице перечислены все компоненты, которые /azrepos commands можно использовать в канале Slack.

Команда косой черты Функциональность
/azrepos subscribe [URL-адрес репозитория/ URL-адрес проекта] Подписка на репозиторий или все репозитории в проекте для получения уведомлений
/azrepos subscriptions Добавление и удаление подписок для этого канала
/azrepos signin Войдите в Azure Repos организацию
/azrepos signout Выход из организации Azure Repos
Обратная связь /azrepos Сообщить о проблеме или предложить функцию
/azrepos отменить подписку на все [URL-адрес проекта] Удаление всех репозиториев (принадлежащих проекту) и связанных с ними подписок из канала

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

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

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

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

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

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

Включение доступа к сторонним приложениям через OAuth для параметра организации

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

Выйдите из Azure DevOps, перейдя в https://aka.ms/VsSignout браузер.

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

Выберите каталог, содержащий организацию, содержащую проект.

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

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

Согласие на запрошенные разрешения приложения

Если эти действия не помогли устранить проблему с проверкой подлинности, обратитесь к нам по адресу Сообщество разработчиков.