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


Azure Repos с Slack

Azure DevOps Services

Если вы используете Slack, вы можете использовать приложение Azure Repos для Slack для легкого мониторинга репозиториев Azure Repos. Настройте подписки и управляйте ими для получения уведомлений в вашем канале при отправке или фиксации кода, а также при создании, обновлении или слиянии pull request (PR). Это приложение поддерживает события Git и Team Foundation Version Control (TFVC).

Необходимые условия

Заметка

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

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

  1. Перейдите в приложение Azure Repos в Slack и выберите Добавить в Slack.

    снимок экрана каталога приложений Slack, Azure Repos и кнопки, Добавить в Slack.

    После добавления вы получите примерно следующее приветственное сообщение.

    снимок экрана приветственного сообщения из Slack.

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

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

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

    снимок экрана запроса входа в Slack.

  2. Выберите Войти.

  3. Примите интеграцию Azure Repos Slack.

    снимок экрана кнопки

    Код проверки отображается для использования в приложении чата для завершения проверки подлинности.

  4. Скопируйте код проверки подлинности.

    снимок экрана: код проверки, предоставленный Azure Repos.

  5. Выберите Введите код, вставьте код и выберите Отправить.

    снимок экрана последней проверки подлинности при вставленном коде проверки и нажатии кнопки отправки.

    Подтверждение входа отображается внутри чата.

    снимок экрана: подтверждение входа в чате.

Чтобы начать мониторинг всех репозиториев 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

Заметка

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

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

снимок экрана: сообщение о создании подписок по умолчанию.

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

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

/azrepos subscriptions

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

Заметка

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

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

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

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

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

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

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

Скриншот показывает, что рецензент принадлежит к моей команде.

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

снимок экрана: попытка слияния неудачна из-за нарушения политики.

Заметка

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

Предварительный просмотр URL-адресов pull request

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

снимок экрана показывает разворачивание URL-адреса.

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

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

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

/azrepos unsubscribe all [project url]

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

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

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

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

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

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

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

Поиск и устранение неисправностей

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

К сожалению, что-то пошло не так. Повторите попытку.

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

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

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

Выйдите из Azure DevOps, перейдя к https://aka.ms/VsSignout с помощью браузера.

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

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

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

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

снимок экрана: согласие на запрошенные разрешения приложения.

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