Informationen zum Empfangen von Webhooks mit GitHub CLI
Wenn du Änderungen am Integrationscode vornimmst, kannst den Code in einer lokalen Umgebung ausführen, um ihn schnell zu testen und zu durchlaufen, ohne den Code bereitstellen zu müssen. Du kannst GitHub CLI verwenden, um Webhooks an deine lokale Umgebung weiterzuleiten.
Die Webhookweiterleitung in der GitHub CLI funktioniert nur mit Repository- und Organisationswebhooks. Wenn Sie andere Webhooks lokal testen möchten, müssen Sie dies manuell tun. Weitere Informationen finden Sie unter Testen von Webhooks.
Warning
Die Webhookweiterleitung ist nur für die Verwendung während Tests und Entwicklung konzipiert. Sie wird nicht für die Verwendung in Produktionsumgebungen zur Verarbeitung von Live-Webhooks unterstützt.
Empfangen von Webhooks mit GitHub CLI
Note
Weitere Informationen zur GitHub CLI findest du unter Informationen zur GitHub CLI.
-
Verwende den Unterbefehl
extension install
, um die GitHub CLI-Erweiterung zu installieren, um die Webhookweiterleitung zu aktivieren.gh extension install cli/gh-webhook
-
Wenn du Organisationswebhooks weiterleiten möchtest, fügst du deiner GitHub CLI-Anmeldung den Bereich
admin:org_hook
hinzu, damit du die erforderlichen Berechtigungen erhältst.gh auth refresh --scopes admin:org_hook
-
Starte die Anwendung lokal, und beachte dabei die URL, wo die Webhooks empfangen werden sollen. In diesem Leitfaden wird davon ausgegangen, dass deine Anwendung bei
http://localhost:3000/webhook
auf Webhookereignisse lauscht. -
Führe den Unterbefehl
webhook forward
aus, um Webhooks einzurichten, die an deine Anwendung übermittelt werden sollen. ErsetzeREPOSITORY
durch den Namen deines Repositorys. Beispiel:monalisa/octocat
. ErsetzeEVENTS
durch eine durch Trennzeichen getrennte Liste der Ereignisse, die du empfangen möchtest. Beispiel:issues,pull_request
. ErsetzeURL
durch die lokale URL, in der deine Anwendung Webhooks empfängt. Beispiel:"http://localhost:3000/webhook"
. Ersetze das--repo
-Flag durch das--org
-Flag, um an Organisationswebhooks anstelle von Repositorywebhooks zu lauschen. Beispiel:--org="octo-org"
.gh webhook forward --repo=REPOSITORY --events=EVENTS --url=URL
Lasse den Befehl im Hintergrund weiterhin laufen. So werden alle angegebenen Ereignisse für das angegebene Repository empfangen. Diese werden dann an deinen Webhookhandler weitergeleitet, der unter der angegebenen URL ausgeführt wird.
Note
Für jedes Repository und jede Organisation kann jeweils nur eine Person die Webhookweiterleitung verwenden. Wenn du versuchst, die Webhookweiterleitung einzurichten, und eine andere Person bereits diese Organisation oder dieses Repository verwendet, erhältst du die Fehlermeldung Hook already exists
.