Compartir vía


webhooks

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

En este artículo se describen los webhooks y cómo configurarlos para el proyecto de Azure DevOps. Los webhooks proporcionan una manera de enviar una representación JSON de un evento de Azure DevOps a cualquier servicio que tenga un punto de conexión público.

Nota:

Azure DevOps no cobra por la configuración de enlaces de servicio ni la integración con servicios externos. Consulte el sitio del servicio específico para conocer los precios relacionados con sus servicios.

Requisitos previos

Necesita los siguientes requisitos previos para administrar webhooks para una organización de Azure DevOps:

  • Rol De propietario o administrador de colecciones de proyectos en la organización.

  • Un proyecto de la organización y un servicio con un punto de conexión HTTP o HTTPS público al que desea enviar eventos de Azure DevOps.

    Importante

    Se recomienda usar solo puntos de conexión HTTPS. HTTP tiene la posibilidad de enviar datos privados, incluidos los encabezados de autenticación, sin cifrar en la carga del evento. Debe usar HTTPS para la autenticación básica en un webhook.

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

  1. En el proyecto de Azure DevOps, vaya a Enlaces de servicio de configuración>del proyecto en .https://<organization-name>/<project-name>/_settings/serviceHooks

    Captura de pantalla de la opción Enlaces de servicio en Configuración del proyecto.

  2. En la página Enlaces de servicio , seleccione el + icono o Crear suscripción.

    Captura de pantalla de la selección de Crear suscripción en la página Enlaces de servicio.

  3. En la pantalla Servicio , seleccione Web Hooks y, a continuación, seleccione Siguiente.

    Captura de pantalla de la selección de Web Hooks en la página Servicio.

  4. En la pantalla Desencadenador , seleccione y configure el evento de Azure DevOps en el que desea desencadenar el webhook y, a continuación, seleccione Siguiente. Para más información sobre las cargas JSON publicadas por el consumidor de Azure DevOps, consulte Eventos de enlaces de servicio.

    Captura de pantalla de la selección y configuración del evento de desencadenador.

  5. En la pantalla Acción, configure la dirección URL de destino y qué hacer cuando se produzca el evento. Para obtener más información sobre qué escribir en Detalles del recurso para enviar, Mensajes para enviar y Mensajes detallados que se van a enviar, consulte Detalles del recurso para enviar.

    Nota:

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

  6. Seleccione Probar para probar la suscripción de enlace de servicio.

    Captura de pantalla de la configuración del cuadro de diálogo Acción.

  7. Cuando la prueba se complete correctamente, cierre la pantalla de notificación y seleccione Finalizar en la pantalla Acción .

    Captura de pantalla de los resultados de pruebas de la suscripción de enlace de servicio

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

    Captura de pantalla de visualización de la representación JSON.

Sugerencia

También puede crear un webhook mediante programación. Para obtener más información, consulte Creación de una suscripción de enlace de servicio mediante programación.

Detalles del recurso que se van a enviar

Los detalles del recurso que se van a enviar, Mensajes para enviar y Mensajes detallados para enviar la configuración en el panel Acción controlan el tamaño de la carga JSON que se va a enviar. Detalles del recurso para enviar controles de la cantidad de recursos que se van a enviar. El valor predeterminado es Todo, pero también puede optar por enviar Mínimo, que 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 no necesita mucha o ninguna información sobre el recurso, ya que se basa en el mensaje o en el propio mensaje detallado. Ninguno y Mínimo también son útiles por motivos de seguridad. El autor de la llamada debe volver a llamar a Azure DevOps Services y realizar comprobaciones de permisos y seguridad normales para obtener más detalles sobre el recurso.

En el siguiente ejemplo JSON se muestran detalles mínimos sobre el recurso:

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