Een webhook voor een GitHub-opslagplaats instellen
In GitHub kunnen webhooks worden ingesteld voor een organisatie of voor een specifieke opslagplaats. Elke keer dat een of meer geabonneerde gebeurtenissen plaatsvinden, wordt een webhook geactiveerd. Met de Gollum-gebeurtenis kunt u bijvoorbeeld luisteren naar wiki-updates, met name het maken en bijwerken van een wikipagina.
In deze les leert u hoe u een webhook instelt die luistert naar een wijzigingsevenement van de GitHub-wiki van uw bedrijf.
Een webhook instellen
Het instellen van een webhook is een proces van twee stappen. Eerst geeft u in GitHub op hoe uw webhook zich moet gedragen en naar welke gebeurtenissen wordt geluisterd. Ten tweede stelt u uw functie in Azure Functions in om de nettolading te ontvangen en te beheren die is ontvangen van de webhook. In het voorbeeldscenario wordt een webhook ingesteld voor een specifieke opslagplaats.
Als u de webhook wilt instellen, selecteert u in de GitHub-portal Instellingen in de bovenste menubalk. De pagina Instellingen wordt weergegeven, met de naam van uw opslagplaats. Selecteer webhooks in het linkermenu en selecteer vervolgens Webhook toevoegen. U kunt ook een webhook bouwen en beheren via de Webhooks-API, die niet wordt behandeld in deze module.
Voor webhooks zijn een aantal configuratie-opties vereist voordat u ze kunt gebruiken. We zullen hieronder alle instellingen doornemen.
URL van de nettolading
De URL van de nettolading is de URL van de server die de webhook-POST-aanvragen ontvangt.
Elk gebeurtenistype heeft een nettolading met een specifieke indeling. Die nettolading bevat informatie over de gebeurtenis die de webhook heeft geactiveerd.
Inhoudstype
Webhooks kunnen worden geleverd met twee verschillende inhoudstypen:
- Het inhoudstype van de toepassing/json levert de JSON-nettolading rechtstreeks als hoofdtekst van een POST-aanvraag.
- Het inhoudstype application/x-www-form-urlencoded verzendt de JSON-nettolading als een formulierparameter met de naam nettolading.
Notitie
Met de pagina webhook toevoegen kunt u opgeven hoe de gegevens die door de webhook worden verzonden met behulp van een geheim moeten worden beveiligd. Dit onderwerp vindt u verderop in deze module.
gebeurtenis
Gebeurtenissen zijn de basis van webhooks. Er treedt een gebeurtenis op wanneer een actie wordt uitgevoerd in de opslagplaats. Wanneer de gebeurtenis zich voordoet, wordt de webhook geactiveerd en wordt de URL aangeroepen die u opgeeft, waarbij de nettolading- en gebeurtenisgegevens naar uw URL worden verzonden. Als u bijvoorbeeld wilt reageren wanneer er een probleem optreedt in een opslagplaats, selecteert u Laat me afzonderlijke gebeurtenissen selecteren en schakelt u vervolgens het selectievakje Problemen in. Zorg ervoor dat u het selectievakje Actief inschakelt om probleemgebeurtenissen te ontvangen voor geactiveerde webhooks. Selecteer vervolgens Webhook toevoegen om de trigger te activeren.
Als u wilt luisteren naar updates voor de wiki voor de opslagplaats, selecteert u het Wiki-selectievakje; deze gebeurtenis is de Gollum-gebeurtenis die eerder is vermeld. Selecteer Webhook toevoegen om alle afzonderlijke gebeurtenissen op te slaan die u hebt geselecteerd.
Een volledige lijst met webhook-gebeurtenissen en wanneer ze kunnen worden uitgevoerd, kunt u vinden door naar GitHub Webhooks Events te gaan.
In de volgende oefening wordt u stapsgewijs begeleid bij het instellen van een webhook voor een GitHub-opslagplaats.