Использование 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 Нажмите кнопку и перенаправляете на страницу согласия, например в следующем примере. Убедитесь, что каталог, отображаемый рядом с сообщением электронной почты, совпадает с выбранным на предыдущем шаге. Примите и завершите процесс входа.

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

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