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

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
Azuqua Все Публикация события в FLO
Служба приложений Azure Код отправлен Развертывание веб-приложения
Служебная шина Azure Все Отправка сообщения в Центр уведомлений, очередь служебная шина или раздел служебная шина
Хранилище Azure Все Вставка сообщений в очередь хранилища
Бамбука Сборка завершена, код отправлен Очередь сборки
Campfire Все Публикация сообщения в комнату
Datadog Все Публикация события в Datadog
Grafana Развертывание выпуска завершено Добавление заметки в базу данных Grafana
HipChat (Больше не поддерживается)
HockeyApp Рабочий элемент обновлен Отправка уведомления
Jenkins Завершено сборка, отправка кода, попытка слияния pr, развертывание выпуска завершено Активация универсальной или сборки Git
Microsoft Teams Все Публикация сообщения в канале
MyGet Сборка завершена, код отправлен Публикация пакета NuGet в MyGet, активация сборки MyGet
Office 365 Все Публикация сообщения в группу
Slack Все Публикация сообщения в канале
Trello Все Создание карта или списка
UserVoice Рабочий элемент, созданный или обновленный Отправка события связанного рабочего элемента
Веб-перехватчики Все Публикация по HTTP
Приложения для сообщений на рабочем месте Все Отправка уведомлений
Запиер Все Отправка уведомления
Zendesk Рабочий элемент закомментирован Создание частного комментария в билете

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

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

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

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

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

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

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

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

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

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

    Примечание.

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

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

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

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

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

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

Вопрос. Какие разрешения необходимо настроить подписку?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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