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


Потребители служебных перехватчиков

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

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

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

Вы можете выбрать из следующих потребителей при создании подписки в Azure DevOps:

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

Служебная шина Azure

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

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

Это действие отправляет общий шаблон уведомления в указанный экземпляр Центров уведомлений.

  • Идентификатор потребителя: azureServiceBus

  • Идентификатор действия: serviceBusNotificationHubSend

  • Поддерживаемые события: все события

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    connectionString Строка подключения SAS Строка подключения с общей подписанной подписью (SAS), используемая для подключения к Service Bus. Эта строка подключения доступна в портале Azure. string Да
    notificationHubName Имя концентратора уведомлений Имя концентратора уведомлений для отправки уведомления. Имя может содержать только буквы, цифры, точки, дефисы, косые черты и символы подчеркивания. Имя должно начинаться и заканчиваться буквой или цифрой. Концентратор уже должен существовать. string Да
    tagsExpression Теги Выражение тега, предназначенное для определенного набора устройств. Дополнительные сведения см. в статье Маршрутизация и выражения тегов. string нет

Отправьте сообщение в очередь шины обслуживания

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

  • Идентификатор потребителя: azureServiceBus

  • Идентификатор действия: serviceBusQueueSend

  • Поддерживаемые события: все события

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    AuthenticationMechanismInputId Режим проверки подлинности Режим проверки подлинности, используемый: строка подключения или подключение к службе. string нет
    ServiceConnectionInputId Подключения Azure Resource Manager Идентификатор подключения к службе. string нет
    ServiceBusHostNameInputId Имя узла Service Bus шины Имя узла на портале Azure в формате sb://<Service-Bus-name>.servicebus.windows.net. string нет
    connectionString Строка подключения SAS Строка подключения SAS для подключения к Service Bus. Эта строка подключения доступна в портале Azure. string нет
    queueName Имя очереди Название очереди, в которую отправляется сообщение. Имя может содержать только буквы, цифры, точки, дефисы, косые черты и символы подчеркивания. Имя должно начинаться и заканчиваться буквой или цифрой. Если очередь не существует, она создается, если указанная строка подключения имеет необходимые разрешения. string Да
    bypassSerializer Отправка как несериализированная строка Параметр отправки сообщений в служебную шину как несериализированные строки вместо сериализованных строк .NET. Выберите этот параметр, если получатель не является клиентом .NET, например, когда клиент использует клиентскую библиотеку Azure для узла. boolean нет
    resourceDetailsToSend Детали ресурса для отправки Количество полей ресурсов для отправки в очередь. Варианты: все поля, минимальное число и отсутствие. string нет
    messagesToSend Сообщения для отправки Типы сообщений для отправки в очередь. string нет
    detailedMessagesToSend Детализированные сообщения для отправки Типы подробных сообщений для отправки в очередь. string нет

Отправка сообщения в раздел служебной шины

Это действие отправляет строковое представление события в указанный раздел служебной шины. Дополнительные сведения см. в статье "Использование портала Azure для создания темы в шине обслуживания и подписок на эту тему".

  • Идентификатор потребителя: azureServiceBus

  • Идентификатор действия: serviceBusTopicSend

  • Поддерживаемые события: все события

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    AuthenticationMechanismInputId Режим проверки подлинности Используемый режим проверки подлинности. string нет
    ServiceConnectionInputId Подключения Azure Resource Manager Идентификатор подключения к службе. string нет
    ServiceBusHostNameInputId Имя узла служебной шины Имя узла на портале Azure в формате sb://{Service-Bus-name}.servicebus.windows.net. string нет
    connectionString Строка подключения SAS Строка подключения SAS для подключения к Service Bus. Эта строка подключения доступна в портале Azure. string нет
    topicName Имя раздела Имя раздела для отправки сообщения. Имя может содержать только буквы, цифры, точки, дефисы, косые черты и символы подчеркивания. Имя должно начинаться и заканчиваться буквой или цифрой. Если раздел не существует, он создается, если указанная строка подключения имеет необходимые разрешения. string Да
    bypassSerializer Отправка как несериализированная строка Параметр отправки сообщений в служебную шину как несериализированные строки вместо сериализованных строк .NET. Выберите этот параметр, если получатель не является клиентом .NET, например, когда клиент использует клиентскую библиотеку Azure для узла. boolean нет
    resourceDetailsToSend Детали ресурса для отправки Количество полей ресурсов для отправки в раздел. Возможности — это все типы полей, минимальное количество и отсутствие. string нет
    messagesToSend Сообщения для отправки Типы сообщений для отправки в раздел. string нет
    detailedMessagesToSend Детализированные сообщения для отправки Типы подробных сообщений для отправки в раздел. string нет

Хранилище Azure

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

Вставка сообщения в очередь хранилища

Это действие вставляет строковое представление события JSON в указанную очередь хранилища. Дополнительные сведения см. в статье "Что такое хранилище очередей Azure?".

  • Идентификатор потребителя: azureStorageQueue

  • Идентификатор действия: enqueue

  • Поддерживаемые события: все события

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    AuthenticationMechanismInputId Режим проверки подлинности Используемый режим проверки подлинности. string нет
    ServiceConnectionInputId Подключения Azure Resource Manager Идентификатор подключения к службе. string нет
    accountName Имя учетной записи хранилища Имя, связанное с учетной записью хранения. Это имя доступно на портале Azure. string Да
    accountKey Ключ учетной записи хранения Ключ, связанный с учетной записью хранения. string нет
    queueName Имя очереди Название очереди, используемой в хранилище, должно состоять только из строчных букв. Очередь с этим именем создается, если она еще не существует. string Да
    visiTimeout Время ожидания видимости сообщения Значение времени ожидания видимости (в секундах) для вложенного сообщения относительно времени сервера. Значение должно быть больше или равно 0 и не может быть больше семи дней или 604 800 секунд. Время ожидания видимости должно быть задано в значение, которое меньше времени ожидания сообщения. number Да
    ttl Время жизни сообщения Интервал времени жизни для сообщения в очереди, в секундах. Максимальное значение, которое можно использовать, составляет семь дней или 604 800 секунд. number Да
    resourceDetailsToSend Детали ресурса для отправки Количество полей ресурсов для отправки в очередь. Возможные значения включают все поля, минимальное число и отсутствие. string нет
    messagesToSend Сообщения для отправки Типы сообщений для отправки в очередь. string нет
    detailedMessagesToSend Детализированные сообщения для отправки Типы подробных сообщений для отправки в очередь. string нет

Бамбук

Bamboo — это сервер непрерывной интеграции от Atlassian.

Очередь сборки

Это действие ставит сборку Bamboo в очередь.

  • Идентификатор потребителя: bamboo

  • Идентификатор действия: queueBuild

  • Поддерживаемые события: git.push, build.completetfvc.checkin

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    serverBaseUrl Базовый URL-адрес Bamboo Универсальный код ресурса (URI), содержащий имя хоста сервера Bamboo. uri Да
    basicAuthCredentials Базовые учетные данные аутентификации Стандартные учетные данные для аутентификации на Bamboo сервере. Чтобы избежать отправки учетных данных в виде обычного текста, используйте протокол HTTPS для шифрования учетных данных с помощью TLS. Рекомендуется использовать принципы службы и управляемые личности в Azure DevOps. string Да
    planName Планирование Имя плана для постановки в очередь. string Да

Datadog

Datadog — это платформа мониторинга и аналитики для облачных сред.

Публикация события в Datadog

Это действие создает событие и соответствующие метрики в Datadog.

  • Идентификатор потребителя: datadog

  • Идентификатор действия: postEventInDatadog

  • Поддерживаемые события: все события

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    apiKey Ключ API Datadog Ключ доступа для учетной записи Datadog. Ключ API можно найти на портале Datadog. Перейдите в ваш профиль и выберите параметры организации>ключи API. string Да
    accountType Тип учетной записи Datadog Тип учетной записи Datadog. Тип учетной записи можно определить из имени узла URL-адреса, используемого учетной записью Datadog:
    - app.datadoghq.com: US
    - app.datadoghq.eu: EU
    - us3.datadoghq.com: US3
    - us5.datadoghq.com: US5
    - ap1.datadoghq.com: AP1
    - app.dog-gov.com: GOV
    string Да

Графана

Grafana — это панель мониторинга с открытым исходным кодом и редактор графов.

Добавление заметки в базу данных Grafana

Это действие добавляет аннотацию в Grafana.

  • Идентификатор потребителя: grafana

  • Идентификатор действия: addAnnotation

  • Поддерживаемые события: ms.vss-release.deployment-completed-event

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    url URL-адрес Grafana URL-адрес, используемый для публикации заметки в Grafana. uri Да
    apiToken Токен API Маркер доступа для публикации заметок в базу данных Grafana. Сведения о создании маркера см. в разделе "Создание маркеров учетной записи службы" и панелей мониторинга для организации. string Да
    tags Теги Разделенный запятыми список тегов, используемых для добавления заметок. string Да
    annotationDeploymentDurationWindow Окно длительности развертывания Параметр настройки периода длительности заметки.
    — При выборе заметка применяется к времени между началом и завершением развертывания.
    — Если параметр не выбран, аннотация применяется к завершению развертывания.
    boolean нет
    text Текст Пользовательское описание аннотации. Если параметр не указан, по умолчанию он описывает выпуск и статус. Этот параметр может включать ссылки, например <a href="https://www.contoso.com" target="_blank">Contoso</a>. string нет
    dashboardId Панель управления Идентификатор панели мониторинга для добавления заметки. Если идентификатор не указан, заметка добавляется на глобальном уровне. string нет

Jenkins

Jenkins — это сервер непрерывной интеграции, который можно использовать для непрерывного создания и тестирования проектов программного обеспечения.

Активация сборки Git

Это действие использует подключаемый модуль Jenkins Git для активации сборки в репозитории Git.

  • Идентификатор потребителя: jenkins

  • Идентификатор действия: triggerGitBuild

  • Поддерживаемые события: git.push, git.pullrequest.merged

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    serverBaseUrl Базовый URL-адрес Jenkins URI, содержащий имя узла сервера Jenkins. uri Да
    basicAuthCredentials Базовые учетные данные аутентификации Стандартные учетные данные проверки подлинности HTTP. Чтобы избежать отправки учетных данных в виде обычного текста, используйте протокол HTTPS для шифрования учетных данных через TLS. Рекомендуем использовать служебные принципы и управляемые удостоверения в Azure DevOps. string Да
    useTfsPlugin Уровень интеграции Выбранный уровень интеграции, который является одним из двух значений:
    — встроенный API Jenkins
    — Расширенная интеграция, предоставляемая подключаемым модулем Azure DevOps Server, если этот подключаемый модуль установлен на сервере Jenkins
    string нет

Запуск универсальной сборки

Это действие активирует универсальную сборку Jenkins, которая вызывает URL-адрес сборки Jenkins.

  • Идентификатор потребителя: jenkins

  • Идентификатор действия: triggerGenericBuild

  • Поддерживаемые события: git.push, git.pullrequest.merged, build.complete, tfvc.checkin, ms.vss-release.deployment-completed-event

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    serverBaseUrl Базовый URL-адрес Jenkins URI, содержащий имя узла сервера Jenkins. uri Да
    basicAuthCredentials Базовые учетные данные аутентификации Учетные данные стандартной HTTP-аутентификации. Чтобы избежать отправки учетных данных в виде обычного текста, используйте протокол HTTPS для шифрования учетных данных через TLS. Рекомендуется использовать принципы службы и управляемые идентичности в Azure DevOps. string Да
    buildName Сборка Имя запускаемой сборки. string Да
    useTfsPlugin Уровень интеграции Выбранный уровень интеграции, который является одним из двух значений:
    — встроенный API Jenkins
    — Расширенная интеграция, предоставляемая подключаемым модулем Azure DevOps Server, если этот подключаемый модуль установлен на сервере Jenkins
    string нет
    buildAuthToken Токен сборки Токен авторизации для сборки. Только пользователи, которые знают маркер, могут удаленно активировать сборки. string нет
    buildParameterized Принимает параметры Параметр, указывающий, принимает ли сборка параметры. boolean нет
    buildParams Параметры сборки Задайте параметры в виде пар имя-значение. В каждой паре имя и значение разделяются двоеточием, например <parameter>:<value>. Каждая пара "имя-значение" отображается в собственной строке. string нет

Slack

Slack — это платформа для поиска для взаимодействия между группами.

Публикация сообщения в канале

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

  • Идентификатор потребителя: slack

  • Идентификатор действия: postMessageToChannel

  • Поддерживаемые события: все события

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    url URL-адрес веб-хука Slack URL-адрес веб-перехватчика, предоставленный Slack для отправки HTTP POST-запросов. uri Да

Trello

Trello — это средство управления проектами, использующее доски, списки и карточки для отслеживания рабочих процессов команд.

Создание карточки

Это действие создает карточку в существующем списке в Trello. Карточка может представлять задачу, проблему, событие или другие элементы, связанные с проектом. Дополнительные сведения см. в статье "Создание перехватчика службы" для Azure DevOps Services и TFS с помощью Trello.

  • Идентификатор потребителя: trello

  • Идентификатор действия: createCard

  • Поддерживаемые события: все события

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    userToken Токен пользователя Маркер пользователя, предоставляющий доступ к ресурсам Trello. Чтобы получить маркер, перейдите на страницу авторизации Trello. string Да
    boardId совет Имя доски, на которой создается карточка Trello. string Да
    listId Список Имя списка, на котором создается карточка Trello. string Да
    labels Наклейки Разделенный запятыми список цветов меток, применяемых к созданной карточке. Допустимые имена цветов меток: red, orange, yellow, greenи purpleblue. string нет
    addToTop Создайте в начале списка Параметр, указывающий, следует ли создать карточку в начале или конце списка Trello. Если это поле true, карточка создается в начале. boolean нет
    cardName Имя карточки Имя новой карточки. По умолчанию в качестве имени используется текстовое описание события. Вы можете использовать заполнители для вставки содержимого события в имя. Дополнительные сведения см. в статье "Создание служебного хука для Azure DevOps Services и TFS с помощью Trello". string нет
    cardDescription Описание карточки Описание новой карточки. По умолчанию подробное описание markdown события используется в качестве описания. Заполнители можно использовать для вставки содержимого из события в описание. Дополнительные сведения см. в статье "Создание перехватчика событий" для Azure DevOps Services и TFS с помощью Trello. string нет

Создать список

Это действие создает список на существующей доске в Trello. Список используется для упорядочивания карточек на доске и обычно представляет состояние. Дополнительные сведения см. в статье "Создание перехватчика службы" для Azure DevOps Services и TFS с помощью Trello.

  • Идентификатор потребителя: trello

  • Идентификатор действия: createList

  • Поддерживаемые события: все события

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    userToken Токен пользователя Маркер пользователя, предоставляющий доступ к ресурсам Trello. Чтобы получить маркер, перейдите на страницу авторизации Trello. string Да
    boardId совет Имя доски, на которой создается список Trello. string Да
    addToBottom Создать в нижней части доски Параметр, указывающий, следует ли создавать карточку в начале или конце доски. Если это поле true, карточка создается в конце. boolean нет
    listName Название списка Название нового списка. По умолчанию в качестве имени используется текстовое описание события. Вы можете использовать замещающие объекты для вставки содержимого из события в имя. Дополнительные сведения см. в статье "Создание служебного хука" для Azure DevOps Services и TFS с Trello. string нет

Вебхуки

Веб-перехватчики предоставляют способ отправки представления события Azure DevOps в любую службу с общедоступной конечной точкой.

Публикация по HTTP

Это действие отправляет представление объекта JSON события в указанный URL-адрес. Рекомендуется использовать конечные точки HTTPS из-за потенциальных конфиденциальных данных в нагрузке события. Дополнительные сведения см. в разделе "Веб-перехватчики".

  • Идентификатор потребителя: webHooks

  • Идентификатор действия: httpRequest

  • Поддерживаемые события: все события

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    url URL URL для отправки HTTP POST запроса. uri Да
    acceptUntrustedCerts Принятие недоверенных SSL-сертификатов Параметр для подключения к конечной точке позволяет отказаться от использования доверенного SSL-сертификата. Используйте этот параметр только во время разработки и тестирования. boolean нет
    basicAuthCredentials Базовые учетные данные аутентификации Стандартные учетные данные проверки подлинности HTTP. Чтобы избежать отправки учетных данных в виде обычного текста, используйте протокол HTTPS для шифрования учетных данных через TLS. Рекомендуем использовать служебные учетные записи и управляемые удостоверения в Azure DevOps. string Да
    httpHeaders Заголовки HTTP Ключи и значения заголовков HTTP в виде пар "ключ-значение". В каждой паре ключ и значение разделяются двоеточием, например <key>:<value>. Каждая пара "ключ-значение" отображается в собственной строке. Эти значения доступны любому, у кого есть доступ к подписке на служебный хук. string нет
    resourceDetailsToSend Детали ресурса для отправки Количество полей ресурсов для отправки в очередь. Возможные варианты: все поля, минимальное количество и ни одного. string нет
    messagesToSend Сообщения для отправки Типы сообщений для отправки в очередь. string нет
    detailedMessagesToSend Детализированные сообщения для отправки Типы подробных сообщений для отправки в очередь. string нет

Зендеск

Zendesk — это пакет программного обеспечения как услуга (SaaS), который предлагает запросы в службу технической поддержки, отслеживание проблем и поддержку обслуживания клиентов.

Создание частного комментария в билете

Это действие создает частный комментарий в тикете Zendesk.

  • Идентификатор потребителя: zendesk

  • Идентификатор действия: createPrivateComment

  • Поддерживаемые события: workitem.commented

  • Параметры:

    Идентификатор ввода Имя Описание Тип данных Обязательно
    accountName Имя учетной записи Имя учетной записи Zendesk. Имя учетной записи можно найти в URL-адресе учетной записи Zendesk, которая имеет формат https://<account-name>.zendesk.com. string Да
    username Имя пользователя Имя пользователя Zendesk, который обновляет билеты. string Да
    apiToken Токен API Токен API Zendesk. Чтобы найти маркер, перейдите в приложение Zendesk и выберите Администрирование>Каналы>API. string Да