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

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

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

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

Как работают перехватчики служб?

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

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

Схема перехватчиков служб.

Примечание.

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

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

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

Service Поддерживаемые события Поддерживаемые действия
Центр приложений Рабочий элемент обновлен Отправка уведомления. Подписки управляются с помощью Центра приложений.
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.
Приложения для сообщений на рабочем месте Все Отправка уведомлений. Подписки управляются с помощью рабочих приложений сообщений.
Запиер Все Отправка уведомления. Подписки управляются с помощью Zapier.
Zendesk Рабочий элемент закомментирован Создайте частный комментарий в билете.
Service Поддерживаемые события Поддерживаемые действия
Служебная шина Azure Все Отправьте сообщение в Центр уведомлений, служебная шина очередь или раздел служебная шина. Подписка управляется с помощью службы приложение 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 безопасности.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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