Einrichten eines Webhooks für ein GitHub-Repository
Auf GitHub können Webhooks für eine Organisation oder ein bestimmtes Repository eingerichtet werden. Der Webhook wird jedes Mal ausgelöst, wenn ein oder mehrere abonnierte Ereignisse auftreten. Mithilfe des Gollum-Ereignisses können Sie beispielsweise auf Updates für Ihre Wiki hinsichtlich der Erstellung und des Aktualisierens einer Wikiseite lauschen.
In dieser Lerneinheit erfahren Sie, wie Sie einen Webhook einrichten, der auf ein Änderungsereignis von der GitHub-Wiki Ihres Unternehmens lauscht.
Einrichten eines Webhooks
Das Einrichten eines Webhooks ist ein zweistufiger Prozess. Geben Sie zunächst in GitHub an, wie sich Ihr Webhook verhalten soll und welche Ereignisse überwacht werden sollen. Richten Sie zweitens Ihre Funktion in Azure Functions zum Empfangen und Verwalten der vom Webhook empfangenen Nutzlast ein. In diesem Beispielszenario richten wir einen Webhook für ein bestimmtes Repository ein.
Wählen Sie in der oberen Menüleiste Einstellungen aus, um den Webhook im GitHub-Portal einzurichten. Die Seite Einstellungen wird mit dem Namen Ihres Repositorys angezeigt. Wählen Sie im linken Menü Webhooks und dann Webhook hinzufügen aus. Sie können einen Webhook auch über die Webhook-API erstellen und verwalten, welche in diesem Modul nicht behandelt wird.
Webhooks erfordern vor ihrer Verwendung eine Reihe von Konfigurationsoptionen. Als nächstes wird jede dieser Einstellungen erläutert.
URL der Nutzlast
Die Nutzlast-URL ist die URL des Servers, die die Webhook-POST-Anforderungen empfängt.
Jeder Ereignistyp weist ein bestimmtes Nutzlastformat auf. Diese Nutzlast enthält Informationen über das Ereignis, das den Webhook ausgelöst hat.
Inhaltstyp
Webhooks können mithilfe von zwei unterschiedlichen Inhaltstypen übermittelt werden:
- Der Inhaltstyp application/json bietet die JSON-Nutzdaten direkt als Text der POST-Anforderung.
- Der Inhaltstyp application/x-www-form-urlencoded sendet die JSON-Nutzlast als Formularparameter namens Nutzlast.
Hinweis
Auf der Seite Webhook hinzufügen können Sie angeben, wie Sie die vom Webhook gesendeten Informationen mithilfe eines Geheimnisses schützen möchten. Dieses Thema wird später in diesem Modul behandelt.
Ereignisse
Ereignisse stehen im Mittelpunkt von Webhooks. Ereignisse treten auf, wenn Aktionen im Repository durchgeführt werden. Wenn das Ereignis auftritt, wird der Webhook ausgelöst. Dieser ruft die von Ihnen angegebene URL auf und sendet die Nutzdaten und Ereignisinformationen an Ihre URL. Wählen Sie beispielsweise Let me select individual events (Auswählen einzelner Ereignisse erlauben) aus, und klicken Sie dann auf das Kontrollkästchen Issue, um auf ein in einem Repository erstelltes Issue zu reagieren. Stellen Sie sicher, dass zum Empfangen von Issue-Ereignissen für ausgelöste Webhooks das Kontrollkästchen Aktiv ausgewählt ist. Wählen Sie dann Webhook hinzufügen aus, um den Trigger zu aktivieren.
Aktivieren Sie das Kontrollkästchen Wiki, um auf Updates für die Wiki des Repositorys zu lauschen. Dabei handelt es sich um das zuvor erwähnte Gollum-Ereignis. Wählen Sie Webhook hinzufügen aus, um alle ausgewählten Ereignisse zu speichern.
Eine vollständige Liste der Webhookereignisse und Informationen dazu, wann diese ausgeführt werden können, finden Sie unter GitHub Webhooks Events.
In der nächsten Übung werden Sie durch den Prozess der Einrichtung eines Webhooks für ein GitHub-Repository geführt.