webhooks
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2017
Los webhooks proporcionan una manera de enviar una representación JSON de un evento a cualquier servicio. Todo lo que se requiere es un punto de conexión público (HTTP o HTTPS).
Para obtener más información sobre las cargas JSON publicadas por este consumidor, vea eventos.
Requisitos previos
Solo los propietarios de Project administradores de recopilación pueden administrar webhooks para una organización.
Envío de una representación JSON a un servicio
Vaya a la página Enlaces de servicio del proyecto:
https://{orgName}/{project_name}/_settings/serviceHooks
Seleccione Crear suscripción.
Seleccione y configure el evento Azure DevOps Services evento:

Configure qué hacer cuando se produzca el evento:
Consulte las siguientes preguntas y respuestas para obtener información sobre los detalles del recurso para enviar , Mensajespara enviar y Mensajes detallados para enviar la configuración.

Pruebe la suscripción de enlace de servicio y finalice el asistente:

Vaya a la página Service Hooks (Enlaces de servicio) del proyecto:
https://dev.azure.com/{orgName}/{project_name}/_apps/hub/ms.vss-servicehooks-web.manageServiceHooks-project
Seleccione Crear suscripción.
Seleccione y configure el evento Azure DevOps Services evento:

Configure qué hacer cuando se produzca el evento:
Consulte las siguientes preguntas y respuestas para obtener información sobre los detalles del recurso para enviar , Mensajespara enviar y Mensajes detallados para enviar la configuración.

Pruebe la suscripción de enlace de servicio y finalice el asistente:

Ahora el webhook está configurado. Vaya al servicio de destino para ver la representación JSON:

Precios
Azure DevOps no cobra por el marco de trabajo para la integración con servicios externos. Consulte el sitio del servicio específico para ver los precios relacionados con sus servicios.
Preguntas & y respuestas
P: ¿Cuáles son los detalles del recurso que se van a enviar, los mensajes que se van a enviar y los mensajes detallados para los que se va a enviar la configuración?
A. Controlan el tamaño de la carga JSON que se envía.
La configuración Detalles del recurso que se va a enviar controla la cantidad del recurso que se envía. El valor predeterminado es All, pero también puede elegir enviar Mínimo (solo envía campos clave como dirección URL e identificador) o Ninguno.
Ninguno y Mínimo son útiles en escenarios en los que el autor de la llamada realmente no necesita mucho, si es algo, sobre el recurso porque se basa en el mensaje o en el mensaje detallado. Ninguno y Mínimo también son útiles por motivos de seguridad; por ejemplo, el autor de la llamada debe volver a llamar a Azure DevOps Services y pasar por comprobaciones de permisos o seguridad normales para obtener más detalles sobre el recurso.
JSON de ejemplo:
{
"eventType": "git.push",
...
"messages": {
"text": "...",
"html": "...",
"markdown": "..."
},
"detailedMessage": {
"text": "...",
"html": "...",
"markdown": "..."
},
"resource": {
"id": "...",
"url": "https://...",
"name": "...",
"field1:": "..."
}
}
P: ¿Puedo crear suscripciones mediante programación?
Un: Sí, consulte los detalles aquí.
P: ¿Puedo enviar webhooks a puntos de conexión que no son HTTPS?
R: Sí. Sin embargo, se recomienda usar solo puntos de conexión HTTPS para los webhooks. El uso de HTTP significa que existe la posibilidad de que los datos privados se envíen sin cifrar. Esto incluye los encabezados de autenticación del webhook.
P: ¿Puedo usar la autenticación básica al configurar un webhook que no es HTTPS?
R: No. Debe usar HTTPS al usar la autenticación básica en un webhook.
P: ¿Se pueden usar direcciones IP de localhost o de intervalo especial como destinos de webhook?
A. No. Los webhooks no pueden tener como destino direcciones IPv6de localhost (bucles) o de intervalo especial IPv4.