Konfigurera en webhook för en GitHub-lagringsplats

Slutförd

I GitHub kan webhooks konfigureras för en organisation eller för en specifik lagringsplats. En webhook utlöses varje gång en eller flera prenumerationshändelser inträffar. Till exempel kan du med Gollum-händelsen lyssna efter wiki-uppdateringar, särskilt skapandet av och uppdateringar för en wiki-sida.

I den här lektionen får du lära dig hur du konfigurerar en webhook som lyssnar efter en ändringshändelse från företagets GitHub-wiki.

Konfigurera en webhook

Att konfigurera en webhook är en tvåstegsprocess. Först anger du i GitHub hur du vill att din webhook ska bete sig och vilka händelser den ska lyssna på. För det andra konfigurerar du funktionen i Azure Functions för att ta emot och hantera nyttolasten som tas emot från webhooken. I exempelscenariot konfigurerar vi en webhook för en specifik lagringsplats.

Om du vill konfigurera webhooken går du till GitHub-portalen och väljer Inställningar från den översta menyraden. Sidan Inställningar visas med namnet på lagringsplatsen. I den vänstra menyn väljer du Webhooks och sedan Lägg till webhook. Du kan också skapa och hantera en webhook via Webhooks-API:et, som inte beskrivs i den här modulen.

Det krävs några konfigurationsalternativ innan du kan använda webhooks. Vi ska gå igenom dessa inställningar senare.

Webbadress för nyttolast

Webbadressen för nyttolasten är URL:en till den server som ska ta emot webhookens POST-begäranden.

Varje händelsetyp har ett specifikt nyttolastformat. Nyttolasten innehåller information om händelsen som utlöste webhooken.

Content type

Webhooks kan levereras med två olika typer av innehåll:

  • Innehållstypen application/json levererar JSON-nyttolasten direkt som brödtext i en POST-begäran.
  • Innehållstypen application/x-www-form-urlencoded skickar JSON-nyttolasten som en formulärparameter med namnet payload.

Kommentar

På sidan Lägg till webhook kan du ange hur du skyddar informationen som skickas av webhooken med hjälp av en hemlighet. Detta beskrivs senare i den här modulen.

Händelser

Händelser är centrala i webhooks. Händelser inträffar när åtgärder vidtas på lagringsplatsen. När händelsen inträffar utlöses webhooken och anropar den URL som du anger och skickar med nyttolasten och händelseinformationen till din URL. Om du till exempel vill svara när ett problem uppstår på en lagringsplats väljer du Låt mig välja enskilda händelser och markerar sedan kryssrutan Problem . Kontrollera att du markerar kryssrutan Aktiv för att ta emot problemhändelser för utlösta webhooks. Välj sedan Lägg till webhook för att aktivera utlösaren.

För att lyssna efter uppdateringar av Wiki-sidan för lagringsplatsen markerar du kryssrutan Wiki. Den här händelsen är den Gollum-händelse som nämnts tidigare. Välj Lägg till webhook för att spara alla enskilda händelser som du har valt.

En fullständig lista över webhook-händelser och när de kan köras finns i GitHub Webhooks Events.

I nästa övning vägleder vi dig genom processen att skapa en webhook för en GitHub-lagringsplats.