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


Интеграция с сервисными перехватчиками

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Вы можете использовать вебхуки для выполнения задач в других службах, когда события происходят в проекте Azure DevOps.

Например, можно использовать веб-хук для автоматического создания карточки в Trello при создании рабочего элемента в Azure DevOps. Или вы можете автоматически отправить push-уведомление на мобильные устройства вашей команды при сбое сборки. Вы также можете использовать веб-хуки в пользовательских приложениях и службах в качестве более эффективного способа инициирования действий, когда в ваших проектах происходят события.

Как работают хуки сервиса?

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

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

Схема с стрелкой, помеченной

Примечание.

Чтобы использовать перехватчики служб, необходимо разрешить определенные диапазоны IP-адресов для входящих подключений к конечным точкам службы. Конечная точка службы — это набор свойств, предоставляемых служебному хуку. Дополнительные сведения см. в разделе IP-адресов и ограничений диапазона.

Доступные службы

Следующие службы доступны в качестве целей для механизмов уведомления о событиях сервисов. Дополнительные сведения о других приложениях и службах, которые интегрируются с Azure DevOps, см. в Visual Studio Marketplace.

Сервис Поддерживаемые события Поддерживаемые действия Управление подписками
Центр приложений Visual Studio Элемент работы обновлен Отправка уведомления В Центре приложений
AppVeyor Код отправлен Запуск сборки AppVeyor В AppVeyor
Azuqua Все Публикация события в объект языка потока (FLO) В Азукуа
Служба приложений Azure Код отправлен Развертывание веб-приложения В службе приложений
Служебная шина Azure Все Отправка сообщения в Центры уведомлений Azure, очередь служебной шины или раздел служебной шины В системе Azure DevOps
Служба хранилища Azure Все Вставка сообщения в очередь хранилища В системе Azure DevOps
Бамбук Сборка завершена, код отправлен Очередь сборки В системе Azure DevOps
Datadog Все Публикация события в Datadog В системе Azure DevOps
Grafana Развертывание релиза завершено Добавление заметки в базу данных Grafana В системе Azure DevOps
Дженкинс Завершена сборка, код отправлен, PR объединён. Запуск общей или Git сборки В системе Azure DevOps
Microsoft Teams Все Публикация сообщения в канале В Teams
MyGet Сборка завершена, код отправлен Публикация пакета NuGet в MyGet, активация сборки MyGet В MyGet
Office 365 Все Публикация сообщения в группу В Office 365
Вялый Все Публикация сообщения в канале В системе Azure DevOps
Trello Все Создание карточки или списка В системе Azure DevOps
UserVoice Созданный рабочий элемент, обновленный рабочий элемент Отправка события связанного рабочего элемента В UserVoice
веб-перехватчики; Все Отправка запроса через HTTP В системе Azure DevOps
Приложения для обмена сообщениями на рабочем месте Все Отправка уведомления В приложениях для обмена сообщениями на рабочем месте
Запиер Все Отправка уведомления В Запие
Zendesk К рабочему элементу добавлен комментарий. Создание частного комментария в билете В системе Azure DevOps
Сервис Поддерживаемые события Поддерживаемые действия Управление подписками
Служебная шина Azure Все Отправка сообщения в Центры уведомлений Azure, очередь служебной шины или раздел служебной шины В системе Azure DevOps
Служба хранилища Azure Все Вставка сообщения в очередь хранилища В системе Azure DevOps
Бамбук Сборка завершена, код отправлен Очередь сборки В системе Azure DevOps
Datadog Все Публикация события в Datadog В системе Azure DevOps
Grafana Развертывание релиза завершено Добавление заметки в базу данных Grafana В системе Azure DevOps
Дженкинс Завершена сборка, код отправлен, PR объединён. Запуск общей или Git сборки В системе Azure DevOps
Microsoft Teams Все Публикация сообщения в канале В Teams
Office 365 Все Публикация сообщения в группу В Office 365
Вялый Все Публикация сообщения в канале В системе Azure DevOps
Trello Все Создание карточки или списка В системе Azure DevOps
UserVoice Созданный рабочий элемент, обновленный рабочий элемент Отправка события связанного рабочего элемента В UserVoice
веб-перехватчики; Все Отправка запроса через HTTP В системе Azure DevOps
Zendesk К рабочему элементу добавлен комментарий. Создание частного комментария в билете В системе Azure DevOps

Создание подписки

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

  1. Перейдите в проект, выберите "параметры проекта", а затем выберите "служебные хуки".

    Снимок экрана, показывающий проект Azure DevOps. Сбоку выделены настройки проекта и хуки служб.

  2. Выберите Создать подписку.

    Снимок экрана страницы

  3. Выберите службу, которую требуется интегрировать.

    Снимок экрана: диалоговое окно

  4. Выберите событие для активации и любых применимых фильтров.

    Снимок экрана: диалоговое окно триггера. Выбрано событие отправки кода. Фильтры задаются в репозитории и группе.

  5. Выберите действие для выполнения в целевой службе.

    Примечание.

    Доступные действия зависят от типа выбранного события.

    Снимок экрана: диалоговое окно

  6. Чтобы подтвердить правильность параметров, проверьте подписку и завершите работу мастера.

    Снимок экрана: окно

    Скриншот окна

Вопросы и ответы

Вопрос: Какие разрешения мне нужны для настройки подписки?

Ответ. Вам нужны разрешения на изменение подписок и просмотр подписок . По умолчанию эти разрешения есть только у администраторов проектов. Чтобы предоставить их другим пользователям напрямую, можно использовать средство командной строки или REST API безопасности .

Чтобы предоставить разрешение «Просмотр» группе, см. Настройка разрешения «Просмотр» для группы в служебных хуках.

Вопрос. Каковы последствия безопасности предоставления разрешений на изменение подписок и просмотр подписок?

Ответ. Пользователь, имеющий разрешения "Изменить подписки " и " Просмотр подписок ", может:

  • Просмотрите все подписки в проекте.
  • Просмотрите журнал уведомлений для всех подписок в проекте.
  • Создайте любую подписку на сервисный хук в проекте.

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

Например, представьте, что вы создаете подписку, чтобы отправлять уведомления при обновлении рабочего элемента в определенной области. Если у вас нет доступа к рабочим элементам в данном пути, уведомления не отправляются. Однако если у других пользователей есть доступ к рабочим элементам, можно просмотреть журнал уведомлений для подписок, которые предупреждают их об обновлениях.

Вопрос. Можно ли создавать подписки на хуки сервиса для проекта программным образом?

Ответ. Да. Дополнительные сведения см. в статье "Создание подписки на перехватчики служб" программным способом.

Вопрос. Можно ли удалить доступ приложения к моей организации после ее авторизации?

Ответ. Да. Вы можете отозвать авторизацию из профиля.

  1. Перейти к https://visualstudio.microsoft.com. Выберите фотографию профиля и выберите профиль Visual Studio.

    Убедитесь, что вы начинаете работу с сайта Visual Studio при https://visualstudio.microsoft.comуправлении авторизациями. На этом сайте можно получить доступ к правильной реализации функции управления авторизациями. Не начинайте с вашей организации (https://dev.azure.com/{organization-name}).

  2. Выберите "Управление авторизацией".

    Снимок экрана: страница профиля Visual Studio с контактными данными для пользователя. В разделе

  3. Отмените разрешения, которые вы больше не хотите разрешить.

    Снимок экрана: диалоговое окно

Вопрос. Почему больше не удается настроить перехватчики службы для HipChat?

Ответ. Atlassian больше не поддерживает HipChat. Дополнительные сведения см. в разделе "Часто задаваемые вопросы" в Atlassian.