Análisis de webhooks

Completado

Puede automatizar el inicio de un runbook mediante su programación o a través de un webhook.

Un webhook le permite iniciar un runbook determinado en Azure Automation a través de una solicitud HTTPS única.

Permite que servicios externos como Azure DevOps, GitHub o aplicaciones personalizadas inicien runbooks sin implementar soluciones más complejas mediante la API de Azure Automation.

Puede encontrar más información sobre los webhooks en Inicio de un runbook de Azure Automation con un webhook.

Diagrama del diagrama de flujo del proceso de webhook. El webhook y el Runbook están dentro de un cuadrado etiquetado Automatización.

Creación de un webhook

Para crear un webhook vinculado a un runbook, siga estos pasos:

  1. En Azure Portal, abra el runbook que desea crear el webhook.
  2. En el panel del runbook, en Recursos, seleccione Webhooks y, a continuación, seleccione Añadir webhook.
  3. Seleccione Crear webhook.
  4. En el cuadro de diálogo Crear webhook, hay diversos valores que debe configurar. Una vez que los configure, seleccione Crear:
    • Nombre. Especifique el nombre que desee para un webhook, porque el cliente no ve el nombre. Solo se utiliza para que identifique el runbook en Azure Automation.
    • Habilitado. Al crearse, el webhook se habilita de forma predeterminada. Si se establece como deshabilitado, ningún cliente podrá usarlo.
    • Expira. Cada webhook tiene una fecha de expiración, momento en el que ya no se puede usar. Puede seguir modificando la fecha después de crear el webhook siempre que el webhook no haya expirado.
    • Dirección URL. La dirección URL del webhook es la dirección única a la que un cliente llama con HTTP POST para iniciar el runbook vinculado al webhook. Se genera automáticamente al crear el webhook y no se puede especificar una dirección URL personalizada. La dirección URL contiene un token de seguridad que permite que el runbook se invoque por un sistema de terceros sin autenticación adicional. Por este motivo, trátela como una contraseña. Por motivos de seguridad, solo puede ver la dirección URL en Azure Portal cuando se crea el webhook. Anote la dirección URL en una ubicación segura para utilizarla en el futuro.Diagrama del flujo de valores de los parámetros del webhook y cómo fluyen. El webhook comienza con una solicitud HTTP POST entrante.

Nota:

Al crearlo, asegúrese de copiar la dirección URL del webhook y, luego, guárdela en un lugar seguro. Después de crear el webhook, no puede volver a recuperar la dirección URL.

  1. Seleccione la opción Parameters run settings (Default: Azure) (Configuración de ejecución de parámetros [valor predeterminado: Azure]). Esta opción tiene las características siguientes, que le permiten completar estas acciones:

    • Si el runbook tiene parámetros obligatorios, deberá proporcionarlos durante la creación. No puede crear el webhook a menos que se proporcionen valores.
    • Si no hay parámetros obligatorios en el runbook, aquí no se requiere ninguna configuración.
    • El webhook debe incluir valores para los parámetros obligatorios del runbook e incluir valores para los parámetros opcionales.
    • Cuando un cliente inicia un runbook mediante un webhook, no puede invalidar los valores de parámetro definidos.
    • A fin de recibir datos del cliente, el runbook puede aceptar un parámetro único denominado $WebhookData de tipo [object] que contiene los datos que el cliente incluye en la solicitud POST.
    • No se requiere ninguna configuración de webhook para admitir el parámetro $WebhookData.Captura de pantalla de una advertencia que explica que, tras crear un webhook, no se puede ver su URL. Cópiela antes de pulsar Aceptar.
  2. Cuando termine, seleccione Crear.

Uso de un webhook

Para utilizar un webhook después de que se haya creado, la aplicación cliente debe emitir una solicitud HTTP POST con la dirección URL del webhook.

  • La sintaxis del webhook tiene el formato siguiente:

      http://< Webhook Server >/token?=< Token Value >
    
    
  • El cliente recibe uno de los siguientes códigos de retorno de la solicitud POST.

    Código Prueba Descripción
    202 Accepted La solicitud se aceptó y el runbook se puso en cola correctamente.
    400 Solicitud incorrecta No se aceptó la solicitud porque el runbook expiró o se deshabilitó, o bien el token de la dirección URL no es válido.
    404 No encontrado No se aceptó la solicitud porque no se encontró el webhook, el runbook o la cuenta.
    500 Internal Server Error
  • Si se completa correctamente, la respuesta del webhook contiene el identificador del trabajo en formato JSON como se muestra a continuación:

    {"JobIds":["< JobId >"]}
    
    

    La respuesta contendrá un identificador de trabajo único, pero el formato JSON permite posibles mejoras a futuro.

  • No se puede determinar cuándo se completa el trabajo de runbook ni determinar su estado de finalización desde el webhook. Solo puede elegir esta información mediante el identificador de trabajo con otro método, como PowerShell o la API de Azure Automation.

Pude encontrar más detalles en la página Inicio de un runbook de Azure Automation con un webhook.