Webhooks

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

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, consulte eventos.

Requisitos previos

Solo los propietarios de la organización o la colección de proyectos Administración istrators pueden administrar webhooks para una organización.

Envío de una representación JSON a un servicio

  1. Vaya a la página Enlaces de servicio del proyecto:

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

    Captura de pantalla de la versión más reciente de la página Administración de proyectos

    Seleccione Crear suscripción.

  2. Seleccione y configure el evento de Azure DevOps Services:

    Configurar el cuadro de diálogo de eventos

  3. Configure qué hacer cuando se produzca el evento:

    Consulte el siguiente Q & A para obtener información sobre los detalles del recurso que se van a enviar, los mensajes para enviar y los mensajes detallados para enviar la configuración.

    Configurar el cuadro de diálogo de acción

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

    Pruébelo

Ahora se configura el webhook. Vaya al servicio de destino para ver la representación JSON:

Visualización de 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 conocer 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?

R: Controlan el tamaño de la carga JSON que se envía.

Los detalles del recurso que se van a enviar controlan la cantidad de recursos que se envían. El valor predeterminado es Todo, pero también puede elegir enviar Mínimo (solo envía campos clave como URL e id. ) o Ninguno.

Ninguno y Mínimo son útiles en escenarios en los que el autor de la llamada realmente no necesita mucho, si hay 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 seguridad y permisos normales para obtener más detalles sobre el recurso.

Ejemplo de JSON:

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

P: ¿Puedo crear suscripciones mediante programación?

R: 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 enviar datos privados sin cifrar. Esto incluye los encabezados de autenticación en el webhook.

P: ¿Puedo usar la autenticación básica al configurar un webhook que no sea HTTPS?

R: No. Debe usar HTTPS al usar la autenticación básica en un webhook.

P: ¿Podemos usar localhost o direcciones IP de intervalo especiales como destinos de webhook?

R: No. Los webhooks no pueden tener como destino localhost (bucle invertido) ni direcciones IPv6/ de intervalo especial.