Skip to main content

Verwenden der GitHub CLI zum Weiterleiten von Webhooks für Tests

Du kannst die GitHub CLI verwenden, um Webhooks in deiner Entwicklungsumgebung ohne die Komplexität der Portweiterleitung oder Tools von Drittanbietern zu testen.

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 findest du unter Testen von Webhooks.

Warnung: 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

Weitere Informationen zur GitHub CLI findest du unter Informationen zur GitHub CLI.

  1. Verwende den Unterbefehl extension install, um die GitHub CLI-Erweiterung zu installieren, um die Webhookweiterleitung zu aktivieren.

    gh extension install cli/gh-webhook
    
  2. 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
    
  3. 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.

  4. Führe den Unterbefehl webhook forward aus, um Webhooks einzurichten, die an deine Anwendung übermittelt werden sollen. Ersetze REPOSITORY durch den Namen deines Repositorys. Beispiel: monalisa/octocat. Ersetze EVENTS durch eine durch Trennzeichen getrennte Liste der Ereignisse, die du empfangen möchtest. Beispiel: issues,pull_request. Ersetze URL 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.

Hinweis: 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.