Granska webhooks

Slutförd

Du kan automatisera starten av en runbook antingen genom att schemalägga den eller med hjälp av en webhook.

Med en webhook kan du starta en viss runbook i Azure Automation via en enda HTTPS-begäran.

Det gör att externa tjänster som Azure DevOps, GitHub eller anpassade program kan starta runbooks utan att implementera mer komplexa lösningar med hjälp av Azure Automation API.

Mer information om webhooks finns i Starta en Azure Automation-runbook med en webhook.

Diagram över flödesschemats webhookprocess. Webhook och Runbook finns inom en kvadrat märkt Automation.

Skapa en webhook

Du skapar en webhook som är länkad till en runbook med hjälp av följande steg:

  1. Öppna den runbook som du vill skapa webhooken i Azure Portal.
  2. I runbook-fönstret under Resurser väljer du Webhooks och sedan Lägg till webhook.
  3. Välj Skapa ny webhook.
  4. I dialogrutan Skapa ny webhook finns det flera värden som du behöver konfigurera. När du har konfigurerat dem väljer du Skapa:
    • Namn. Ange ett namn som du vill använda för en webhook eftersom namnet inte exponeras för klienten. Det används bara till att identifiera runbooken i Azure Automation.
    • Aktiverad. En webhook aktiveras som standard när den skapas. Om du ställer in den på Inaktiverad kan ingen klient använda den.
    • Upphör att gälla. Varje webhook har ett förfallodatum, då den inte längre kan användas. Du kan fortsätta att ändra datumet när du har skapat webhooken förutsatt att webhooken inte har upphört att gälla.
    • URL. Webhook-URL:en är den unika adress som en klient anropar med en HTTP POST för att starta runbooken som är länkad till webhooken. Den genereras automatiskt när du skapar webhooken och du kan inte ange en anpassad URL. URL:en innehåller en säkerhetstoken som gör att runbooken kan anropas av ett system från tredje part utan ytterligare autentisering. Av den anledningen behandlar du det som ett lösenord. Du kan bara visa URL:en i Azure Portal av säkerhetsskäl när webhooken skapas. Anteckna URL:en på en säker plats för framtida användning.Diagram över flödet av webhook-parametervärden och hur de flödar. Webhooken börjar med en inkommande HTTP POST-begäran.

Kommentar

När du skapar den ska du kopiera webhookens URL och sedan lagra den på en säker plats. När du har skapat webhooken kan du inte hämta URL:en igen.

  1. Välj alternativet Inställningar för körning av parametrar (standard: Azure). Det här alternativet har följande egenskaper som gör att du kan utföra följande åtgärder:

    • Om runbooken har obligatoriska parametrar måste du ange de obligatoriska parametrarna när du skapar den. Du kan inte skapa webhooken om inte värden anges.
    • Om det inte finns några obligatoriska parametrar i runbooken krävs ingen konfiguration här.
    • Webhooken måste innehålla värden för obligatoriska parametrar i runbooken och inkludera värden för valfria parametrar.
    • När en klient startar en runbook med en webhook kan den inte åsidosätta de definierade parametervärdena.
    • För att ta emot data från klienten kan runbooken acceptera en enda parameter som kallas $WebhookData av typen [object] som innehåller data som klienten innehåller i POST-begäran.
    • Det finns ingen nödvändig webhook-konfiguration för att stödja parametern $WebhookData .Skärmbild av en varning som förklarar att url:en inte kan visas när du har skapat en webhook. Kopiera den innan du trycker på OK.
  2. När det är klart väljer du Skapa.

Använda en webhook

Om du vill använda en webhook när den har skapats måste klientprogrammet utfärda en HTTP POST med URL:en för webhooken.

  • Syntaxen för webhooken är i följande format:

      http://< Webhook Server >/token?=< Token Value >
    
    
  • Klienten tar emot någon av följande returkoder från POST-begäran.

    Code   Testa Beskrivning
    202 Godkänd Begäran accepterades och runbooken har placerats i kö.
    400 Felaktig begäran Begäran accepterades inte eftersom runbooken har upphört att gälla, inaktiverats eller att token i URL:en är ogiltig.
    404 Hittades inte Begäran accepterades inte eftersom webhooken, runbooken eller kontot inte hittades.
    500 Internt serverfel
  • Om det lyckas innehåller webhookssvaret jobb-ID i JSON-format på följande sätt:

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

    Svaret innehåller ett enda jobb-ID, men JSON-formatet möjliggör potentiella framtida förbättringar.

  • Du kan inte avgöra när runbook-jobbet slutförs eller fastställa dess slutförandestatus från webhooken. Du kan bara välja den här informationen med hjälp av jobb-ID:t med en annan metod, till exempel PowerShell eller Azure Automation-API:et.

Mer information finns på sidan Starta en Azure Automation-runbook med en webhook .