Веб-перехватчики

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

Веб-перехватчики предоставляют способ отправки JSON-представления события в любую службу. Вам потребуется лишь общедоступная конечная точка (HTTP или HTTPS).

Дополнительные сведения о полезных данных JSON, опубликованных этим объектом-получателем, см. в разделе События.

Необходимые компоненты

Только владельцы организации или коллекция проектов Администратор istrator могут управлять веб-перехватчиками для организации.

Отправка представления JSON в службу

  1. Перейдите на страницу перехватчиков службы проекта:

    https://{orgName}/{project_name}/_settings/serviceHooks

    Снимок экрана: последняя версия страницы администрирования проекта

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

  2. Выберите и настройте событие Azure DevOps Services:

    Диалоговое окно

  3. Настройте действия при возникновении события:

    Дополнительные сведения о ресурсах для отправки, отправки сообщений и подробных сообщений см. в следующих статьях Q и A для отправки параметров.

    Диалоговое окно

  4. Проверьте подписку на перехватчик службы и завершите работу мастера:

    Тестирование

Теперь веб-перехватчик настроен. Перейдите в целевую службу, чтобы просмотреть представление JSON:

Просмотр представления JSON

Цены

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

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

Вопрос. Что такое сведения о ресурсе для отправки, сообщения для отправки и подробные сообщения для отправки параметров?

Ответ. Они управляют размером отправленных полезных данных JSON.

Сведения о ресурсе для отправки параметров управляют количеством отправленных ресурсов. Значение по умолчанию — All, но вы также можете отправить минимальное значение (только отправляет ключевые поля, такие как URL-адрес и идентификатор), или None.

Ни один и минимальный полезны в сценариях, когда вызывающий объект не нуждается в значительной степени, если что-либо, о ресурсе, так как он зависит от сообщения или подробного сообщения. Нет и минимальные также полезны по соображениям безопасности, например вызывающий объект должен вернуться в Azure DevOps Services и пройти обычные проверка безопасности и разрешения, чтобы получить дополнительные сведения о ресурсе.

Пример JSON:

	{
	    "eventType": "git.push",
	    ...
	    "messages": {
	        "text": "...",
	        "html": "...",
	        "markdown": "..."
	    },
	    "detailedMessage": {
	        "text": "...",
	        "html": "...",
	        "markdown": "..."
	    },
	    "resource": {
	        "id": "...",
	        "url": "https://...",
	        "name": "...",
	        "field1:": "..."
	    }
	}	

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

Ответ. Да, см. здесь подробные сведения.

Вопрос. Можно ли отправлять веб-перехватчики в конечные точки, отличные от HTTPS?

Ответ. Да. Однако рекомендуется использовать только конечные точки HTTPS для веб-перехватчиков. Использование ПРОТОКОЛА HTTP означает, что существует потенциал для отправки закрытых данных без шифрования. Сюда входят все заголовки проверки подлинности в веб-перехватчике.

Вопрос. Можно ли использовать обычную проверку подлинности при настройке веб-перехватчика, который не является HTTPS?

Ответ. Нет. При использовании базовой проверки подлинности в веб-перехватчике необходимо использовать ПРОТОКОЛ HTTPS.

Вопрос. Можно ли использовать локальный хост или специальные IP-адреса диапазона в качестве целевых объектов веб-перехватчика?

Ответ. Нет. Веб-перехватчики не могут использовать адрес localhost (loopback) или специальный диапазон IPv4/IPv6-адресов.