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 Weiterleitung von Webhooks in der GitHub CLI funktioniert nur mit den Repository- und den Organisationswebhooks. Wenn Sie andere Webhooks lokal testen möchten, müssen Sie dies manuell tun. Weitere Informationen finden Sie unter Testen von Webhooks.

Warnung

Die Webhookweiterleitung ist nur für die Verwendung bei 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

Hinweis

Weitere Informationen zur GitHub CLI findest du unter Informationen zu 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 Webhook-Ereignisse 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. Ersetzen Sie URL durch die lokale URL, bei der Ihre Anwendung erwartet, Webhooks zu empfangen. 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
    

Lassen Sie den Befehl im Hintergrund laufen. Es empfängt alle angegebenen Ereignisse für das angegebene Repository und leitet sie an Ihren Webhook-Handler weiter, der unter der angegebenen URL ausgeführt wird.

Hinweis

Für jedes Repository und jede Organisation kann jeweils nur eine Person die Webhook-Weiterleitung verwenden. Wenn du versuchst, die Webhookweiterleitung einzurichten, und eine andere Person bereits mit dieser Organisation oder diesem Repository arbeitet, erhältst du die Fehlermeldung Hook already exists.