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


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

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

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

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

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

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

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

Схема хуков служб.

Примечание.

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

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

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

Сервис Поддерживаемые события Поддерживаемые действия
Центр приложений Элемент работы обновлен Отправка уведомления. Подписки управляются с помощью Центра приложений.
AppVeyor Код отправлен Запустите сборку AppVeyor. Подписки управляются с помощью AppVeyor.
Azuqua Все Опубликовать событие в FLO. Подписки управляются с помощью Azuqua.
Служба приложений Azure Код отправлен Развертывание веб-приложения. Подписки управляются через службу приложений Azure.
Сервисная шина Azure Все Отправьте сообщение в Центр уведомлений, очередь в служебной шине или тему в служебной шине. Подписка управляется с помощью службы приложение Azure.
Хранилище Azure Все Поместите сообщение в очередь хранилища.
Бамбук Сборка завершена, код отправлен Очередь сборки.
Datadog Все Публикация события в Datadog.
Grafana Развертывание релиза завершено Добавьте заметку в базу данных Grafana.
Jenkins Завершено сборка, отправка кода, попытка слияния pr, развертывание выпуска завершено Запуск общей или сборки Git.
Microsoft Teams Все Публикация сообщения в канале. Подписки управляются в Microsoft Teams.
MyGet Сборка завершена, код отправлен Публикация пакета NuGet в MyGet. Активируйте сборку MyGet. Подписками управляет сервис MyGet.
Office 365 Все Опубликуйте сообщение в группе.
Slack Все Опубликуйте сообщение в канале.
Trello Все Создайте карточку или список.
UserVoice Созданный рабочий элемент, обновленный рабочий элемент Отправка события связанного рабочего элемента. Подписки управляются с помощью UserVoice.
Веб-хуки Все Публикация по протоколу HTTP.
Приложения для сообщений на рабочем месте Все Отправка уведомлений. Подписками управляют через приложения Workplace для обмена сообщениями.
Zapier Все Отправка уведомления. Подписки управляются с помощью Zapier.
Zendesk К рабочему элементу добавлен комментарий. Создайте частный комментарий в билете.
Услуга Поддерживаемые события Поддерживаемые действия
Служебная шина Azure Все Отправьте сообщение в Центр уведомлений, очередь Service Bus или тему Service Bus. Подписка управляется с помощью службы приложение Azure.
Хранилище Azure Все Поместить сообщение в очередь хранилища.
Бамбук Сборка завершена, код отправлен Очередь сборки.
Datadog Все Публикация события в Datadog.
Grafana Развертывание выпуска завершено Добавьте заметку в базу данных Grafana.
Jenkins Сборка завершена, код отправлен, попытка слияния PR, развертывание релиза завершено. Запуск общей или Git сборки.
Microsoft Teams Все Разместите сообщение в канале. Подписки управляются в Microsoft Teams.
Office 365 Все Опубликуйте сообщение в группе.
Slack Все Отправьте сообщение в канал.
Trello Все Создайте карточку или список.
[UserVoice]((https://www.uservoice.com) Созданный рабочий элемент, обновленный рабочий элемент Отправка события связанного рабочего элемента. Подписки управляются с помощью UserVoice.
Веб-перехватчики Все Публикация по протоколу HTTP.
Zendesk Рабочий элемент прокомментирован Создайте частный комментарий в билете.

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

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

  1. Откройте страницу администрирования для проекта в веб-доступе.

    Снимок экрана: выделенная кнопка
  2. Запустите мастер, чтобы создать подписку.

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

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

    Выбор службы для интеграции

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

    Выбор события для активации и любых фильтров

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

    Примечание.

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

    Снимок экрана: выбор действия для целевой службы.

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

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

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

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

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

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

Чтобы предоставить разрешение "Просмотр" для группы, см. страницу "Настройка разрешения "Просмотр" для группы в разделе "Service Hooks".

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

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

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

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

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

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

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

  1. Перейдите на страницу профиля из https://visualstudio.microsoft.com/.

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

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

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

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

    Снимок экрана: параметр

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

Ответ: Atlassian официально отказался от поддержки HipChat. Дополнительные сведения см. в объявлении о выпуске.