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


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

Azure DevOps Services

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

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

Примечание.

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

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

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

    Снимок экрана: каталог приложений Slack, Azure Repos и кнопка

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

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

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

Подключение приложение 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 канал подписывается на созданное событие запроса на вытягивание (с целевой ветвью = main), а для репозиториев TFVC канал подписан на код, проверка в событии.

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

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

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

/azrepos subscriptions

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

Примечание.

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

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

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

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

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

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

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

Снимок экрана: рецензент имеет мою команду.

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

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

Примечание.

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

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

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

Снимок экрана: отмена 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 feedback Сообщите о проблеме или предложите функцию
/azrepos unsubscribe all [project url] Удалите все репозитории (принадлежащие к проекту) и связанные с ними подписки из канала

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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