Azure Repos с Slack
Azure DevOps Services
Если вы используете Slack, вы можете использовать приложение Azure Repos для Slack для легкого мониторинга репозиториев Azure Repos. Настройте подписки и управляйте ими для получения уведомлений в вашем канале при отправке или фиксации кода, а также при создании, обновлении или слиянии pull request (PR). Это приложение поддерживает события Git и Team Foundation Version Control (TFVC).
Необходимые условия
- Чтобы создать подписки в канале Slack для событий, связанных с репозиторием, будьте членом группы администраторов проектов или администратором группы. Чтобы быть добавленным, см. раздел Изменение разрешений на уровне проекта или Добавление администратора команды.
- Чтобы получать уведомления, для организации необходимо включить доступ к стороннему приложению с помощью параметра OAuth. Для получения дополнительной информации см. статью «Изменение политик доступа приложений для вашей организации».
Заметка
- Вы можете связать приложение Azure Repos для Slack только с проектом, размещенным в Azure DevOps Services в настоящее время.
- Уведомления в настоящее время не поддерживаются в прямых сообщениях.
Добавление приложения Azure Repos в рабочую область Slack
Перейдите в приложение Azure Repos в Slack и выберите Добавить в Slack.
После добавления вы получите примерно следующее приветственное сообщение.
Используйте указатель Slack
/azrepos
для взаимодействия с приложением. Полный список команд представлен в справочнике по командам этой статьи.
Подключение приложения Azure Repos к репозиториям
Подключитесь и выполните проверку подлинности в Azure Repos с помощью команды
/azrepos signin
.Выберите Войти.
Примите интеграцию Azure Repos Slack.
Код проверки отображается для использования в приложении чата для завершения проверки подлинности.
Скопируйте код проверки подлинности.
Выберите Введите код, вставьте код и выберите Отправить.
Подтверждение входа отображается внутри чата.
Чтобы начать мониторинг всех репозиториев 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 есть конкретный рецензент.
Ниже показано, как настроить подписки.
- Выполните команду
/azrepos subscriptions
. - В списке подписок, если есть подписка, которая является нежелательной или должна быть изменена (например, создание шума в канале), нажмите кнопку Удалить.
- Нажмите кнопку Добавить подписку.
- Выберите необходимый репозиторий и нужное событие.
- Выберите соответствующие фильтры.
Пример: получать уведомления только в том случае, если моя команда находится в списке рецензентов для PR.
Пример. Сообщите мне, когда попытки слияния завершаются ошибкой из-за нарушения политики
Заметка
- Все фильтры обычно представлены в виде выпадающих списков. Но если в раскрывающемся списке больше 100 элементов, пользователи должны ввести значения вручную.
- Для события регистрации кода TFVC в, фильтр для пути должен соответствовать формату
$/myproject/path
.
Предварительный просмотр URL-адресов pull request
Когда пользователь вставляет URL-адрес PR, отображается предварительный просмотр, как на следующем изображении, что помогает сохранить точность и соответствие контекста бесед, связанных с PR.
После входа в систему эта функция работает для всех каналов в рабочей области.
Удаление подписок и репозиториев из канала
Используйте следующую команду, чтобы очистить канал, удалив репозитории и подписки.
/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 для организации значение Вкл..
Сбой конфигурации. Убедитесь, что организация "{название организации}" существует и у вас есть достаточные разрешения.
Выйдите из Azure DevOps, перейдя к https://aka.ms/VsSignout
с помощью браузера.
Откройте окно браузера в частном или инкогнито и перейдите на https://aex.dev.azure.com/me
, затем войдите в систему. В раскрывающемся списке под значком профиля слева выберите каталог, содержащий организацию, содержащую репозиторий, в который вы хотите подписаться.
В том же браузере, запустите новую вкладку, перейдите к https://slack.com
и войдите в рабочее пространство (использовать веб-клиент). Выполните команду /azrepos signout
, а затем команду /azrepos signin
.
Нажмите кнопку Sign in
, и вас перенаправят на страницу с согласием, как в приведенном ниже примере. Убедитесь, что каталог, отображаемый рядом с сообщением электронной почты, совпадает с выбранным на предыдущем шаге. Примите и завершите процесс входа.
Если эти действия не устраняют проблему аутентификации, обратитесь к нам в Сообщество Разработчиков.