Oefening: Een webhook instellen voor een GitHub-opslagplaats

Voltooid

In deze oefening stelt u een webhook in voor een GitHub-opslagplaats. U leert hoe u luistert naar specifieke gebeurtenissen (in dit geval de Gollum-gebeurtenis ) en hoe u de webhook-callback in uw functie maakt wanneer de gebeurtenis wordt geactiveerd.

Instellingen

  1. Meld u met behulp van uw webbrowser aan bij uw GitHub-account.

  2. Maak een nieuwe opslagplaats door Nieuw te selecteren in het linkermenuvenster. De pagina Een nieuwe opslagplaats maken wordt weergegeven.

  3. Voer in het vak Opslagplaatsnaam een betekenisvolle naam in, zoals LearnWebhookTest.

  4. Selecteer Openbaar om uw wikimodule te activeren en zoek deze in het menu.

  5. Klik op Opslagplaats maken. De pagina Snelle instelling wordt weergegeven.

  6. Selecteer de koppeling voor het maken van een nieuw bestand .

  7. Selecteer Wiki in de bovenste menubalk om de pagina's in uw opslagplaats (of opslagplaats) weer te geven. Er wordt een welkomstpagina weergegeven.

  8. Selecteer De eerste pagina maken. De sjabloon Nieuwe pagina maken wordt weergegeven.

  9. Voeg tekst toe en selecteer Pagina opslaan. De eerste pagina in een Wiki is de startpagina.

Een webhook toevoegen voor de Gollum-gebeurtenis

Gollum is de naam van een GitHub-gebeurtenis die wordt geactiveerd wanneer een pagina in de wiki van een opslagplaats wordt gemaakt of bijgewerkt.

  1. Op de startpagina in de wikiweergave bevindt zich een zijbalk Pagina's met een lijst met de pagina's in uw opslagplaats. Selecteer Start om de startpagina weer te geven.

  2. Selecteer Instellingen op de startpagina in de bovenste menubalk. Het deelvenster Instellingen wordt weergegeven.

  3. Selecteer Webhooks in de zijbalk Instellingen. Het deelvenster Webhooks wordt weergegeven.

  4. Selecteer rechtsboven de optie Webhook toevoegen. GitHub kan u vragen uw wachtwoord voor GitHub te bevestigen.

  5. Voer in het deelvenster Webhooks/Webhook toevoegen de volgende waarden in voor elke instelling.

    Instelling Weergegeven als
    URL van de nettolading URL voor uw Azure-functie-app uit de vorige oefening. Zie de volgende opmerking voor hulp.
    Inhoudstype Selecteer toepassing/json in de vervolgkeuzelijst.
    Welke gebeurtenissen wilt u deze webhook activeren? Selecteer Laat me afzonderlijke gebeurtenissen selecteren. Schuif omlaag in de lijst met gebeurtenissen die wordt weergegeven en schakel het selectievakje Wiki in. Zorg ervoor dat er geen andere selectievakjes zijn ingeschakeld.
    Actief Geselecteerd.

    Tip

    Kopieer de functie-URL vanuit het deelvenster Azure HttpTrigger door functie-URL ophalen te selecteren op de opdrachtbalk. Uw URL ziet er ongeveer als volgt uit: https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==

  6. Selecteer Webhook toevoegen. Het deelvenster Webhooks wordt weergegeven.

  7. Controleer of uw nieuwe webhook wordt weergegeven. Het moet (gollum) aan het einde van zijn naam hebben.

De webhook testen

  1. Selecteer Wiki in GitHub in de bovenste menubalk. De startpagina die u eerder hebt gemaakt, wordt weergegeven.

  2. Selecteer Bewerken. Het deelvenster Start bewerken wordt weergegeven.

  3. Voer in het tekstgebied van het deelvenster de volgende tekst in:

    Testing Webhook
    
  4. Selecteer Pagina opslaan. De startpagina wordt opnieuw weergegeven.

  5. Selecteer Instellingen in de bovenste menubalk. Het deelvenster Instellingen wordt weergegeven.

  6. Selecteer Webhooks in de zijbalk. Het deelvenster Webhooks wordt weergegeven.

  7. Selecteer Bewerken. Het deelvenster Webhooks/Webhook beheren wordt weergegeven.

  8. Selecteer het tabblad Recente leveringen (mogelijk moet u naar de onderkant van de pagina schuiven).

  9. Selecteer in de lijst de bovenste (meest recente) leveringsvermelding door het beletselteken (...) te selecteren.

    U ziet de sectie Kopteksten , met inbegrip van de gebeurtenis:

    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
    

    U ziet ook dat de sectie Payload informatie bevat die aangeeft dat uw wikipagina is bewerkt. De nettolading bevat pagina's, opslagplaatsen en afzendersecties , die er ongeveer als volgt uit moeten zien:

        "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. Selecteer op het tabblad Recente leveringen het tabblad Antwoord .

    Hier ziet u het antwoordbericht dat wordt gegenereerd door de Azure-functie. In dit voorbeeld moet de hoofdtekst het bericht bevatten. Deze door HTTP geactiveerde functie is uitgevoerd. Geef een naam door in de querytekenreeks of in de aanvraagtekst voor een persoonlijk antwoord.