Övning – Konfigurera en webhook för en GitHub-lagringsplats

Slutförd

I den här övningen konfigurerar du en webhook för en GitHub-lagringsplats. Du får lära dig hur du lyssnar efter specifika händelser (i det här fallet Gollum-händelsen ) och hur du gör webhook-återanropet i din funktion när händelsen utlöses.

Ställ in

  1. Logga in på ditt GitHub-konto via webbläsaren.

  2. Skapa en ny lagringsplats genom att välja Nytt i det vänstra menyfönstret. Sidan Skapa en ny lagringsplats visas.

  3. I rutan Lagringsplatsnamn anger du ett beskrivande namn, till exempel LearnWebhookTest.

  4. Välj Offentlig för att aktivera wiki-modulen och leta reda på den på menyn.

  5. Välj Create repository (Skapa lagringsplats). Sidan Snabbkonfiguration visas.

  6. Välj länken skapa en ny fil .

  7. I den översta menyraden väljer du Wiki för att visa sidorna på lagringsplatsen (eller lagringsplatsen). En välkomstsida visas.

  8. Välj Skapa den första sidan. Mallen Skapa ny sida visas.

  9. Lägg till text och välj Spara sida. Den första sidan i en Wiki är startsidan.

Lägga till en webhook för Gollum-händelsen

Gollum är namnet på en GitHub-händelse som utlöses när en sida i en lagringsplatss wiki skapas eller uppdateras.

  1. På startsidan i Wiki-vyn finns sidofältet Sidor som visar sidorna i din lagringsplats. Välj Start för att visa startsidan.

  2. På startsidan går du till den översta menyraden och väljer Inställningar. Fönstret Inställningar visas.

  3. I sidofältet Inställningar väljer du Webhooks. Fönstret Webhooks visas.

  4. Längst upp till höger väljer du Lägg till webhook. GitHub kan be dig bekräfta ditt lösenord för GitHub.

  5. I fönstret Webhooks/Lägg till webhook anger du följande värden för varje inställning.

    Inställning Värde
    Webbadress för nyttolast URL för din Azure-funktionsapp från föregående övning. Mer information finns i följande anteckning.
    Innehållstyp I listrutan väljer du program/json.
    Vilka händelser vill du utlösa den här webhooken? Välj Låt mig välja enskilda händelser. I händelselistan som visas rullar du nedåt och markerar kryssrutan Wiki . Kontrollera att inga andra kryssrutor är markerade.
    Aktiv Markerad.

    Dricks

    Kopiera funktions-URL:en från fönstret Azure HttpTrigger genom att välja Hämta funktions-URL från kommandofältet. Url:en ser ut ungefär så här: https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==

  6. Välj Lägg till webhook. Fönstret Webhooks visas.

  7. Kontrollera att den nya webhooken visas. Det bör ha (gollum) i slutet av sitt namn.

Testa din webhook

  1. I GitHub går du till den översta menyraden och väljer Wiki. Startsidan som du skapade tidigare visas.

  2. Välj Redigera. Fönstret Redigera start visas.

  3. I textområdet i fönstret anger du följande text:

    Testing Webhook
    
  4. Välj Spara sida. Startsidan visas igen.

  5. I den översta menyraden väljer du Inställningar. Fönstret Inställningar visas.

  6. I sidofältet väljer du Webhooks. Fönstret Webhooks visas.

  7. Välj Redigera. Webhooks /Manage webhook-fönstret visas.

  8. Välj fliken Senaste leveranser (du kan behöva rulla längst ned på sidan).

  9. I listan väljer du den översta (senaste) leveransposten genom att välja ellipsen (...).

    Du ser avsnittet Rubriker , inklusive händelsen:

    Request URL: https://testwh123456.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ%3D%3D
    Request method: POST
    Accept: */*
    content-type: application/json
    User-Agent: GitHub-Hookshot/16496cb
    X-GitHub-Delivery: 9ed46280-6ab3-11e9-8a19-f1a14922a239
    X-GitHub-Event: gollum
    X-GitHub-Hook-ID: 312141005
    X-GitHub-Hook-Installation-Target-ID: 394459163
    X-GitHub-Hook-Installation-Target-Type: repository
    

    Du ser också att avsnittet Payload innehåller information som anger att wiki-sidan har redigerats. Nyttolasten innehåller avsnitten sidor, lagringsplats och avsändare , som bör se ut ungefär som i följande exempel:

        "pages": [
            {
                "page_name": "Home",
                "title": "Home",
                "summary": null,
                "action": "edited",
                "sha": "04d012c5f92a95ae3f7721173bf9f2b1b35ea22f",
                "html_url": "https://github.com/.../wiki/Home"
            }
        ],
        "repository" : {
            "id": 176302421,
            "node_id": "MDEwOlJlcG9zaXRvcnkxNzYzMDI0MjE=",
            "name": "tieredstorage",
            ...
        },
        "sender" : {
            ...
        }
    
  10. Under fliken Senaste leveranser väljer du fliken Svar .

    Svarsmeddelandet som genererades av Azure-funktionen visas. I det här exemplet ska brödtexten innehålla meddelandet. Den här HTTP-utlösta funktionen har körts. Skicka ett namn i frågesträngen eller i begärandetexten för ett personligt svar.