# Testen von Webhooks

Erfahren Sie, wie Sie Ihre Webhooks und Ihren Code testen, der Webhook-Übermittlungen verarbeitet.

## Informationen zum Testen von Webhooks

Sie können die Webhook-Übermittlung testen. Auf diese Weise können Sie überprüfen, ob GitHub als Reaktion auf ein Ereignis, von dem Sie erwarten, dass es eine Webhook-Zustellung auslöst, eine Webhook-Zustellung sendet.

Sie können auch Ihren Code testen, der Webhook-Übermittlungen verarbeitet, indem Sie Ihren Computer oder Codespace als lokalen Server verwenden und Webhook-Übermittlungen an Ihren lokalen Server weiterleiten. Dadurch können Sie Ihren Code entwickeln und debuggen, ohne den Code auf Ihrem Produktionsserver bereitzustellen.

## Testen der Webhook-Übermittlung

Sie können ein Webhook-Ereignis auslösen und bestätigen, dass GitHub eine Webhook-Zustellung gesendet hat.

1. Aktivieren Sie den Webhook. Wenn Sie beispielsweise einen Repository-Webhook testen, der das `issues`-Ereignis abonniert hat, öffnen Sie einen Sachverhalt in dem Repository, in dem der Webhook konfiguriert ist.

   Sie können auch eine vorherige Webhook-Übermittlung erneut übermitteln. Weitere Informationen finden Sie unter [Erneutes Zustellen von Webhooks](/de/enterprise-server@3.22/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks).

   Wenn Sie einen Organisations- oder Repository-Webhook verwenden, können Sie das `ping`-Ereignis für Ihren Webhook auch über die REST-API auslösen. Wenn Sie einen Repository-Webhook verwenden und Ihr Webhook das `push`-Ereignis abonniert hat, können Sie ein `push`-Testereignis für Ihren Webhook über die REST-API auslösen. Weitere Informationen findest du unter [REST-API-Endpunkte für Repository-Webhooks](/de/enterprise-server@3.22/rest/repos/webhooks) und [REST-API-Endpunkte für Organisationswebhooks](/de/enterprise-server@3.22/rest/orgs/webhooks).

2. Überprüfen Sie GitHub , ob eine Webhook-Übermittlung gesendet wurde. Informationen zur Ausführung für jeden Webhooktyp findest du unter [Anzeigen von Webhookübermittlungen](/de/enterprise-server@3.22/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries).

Wenn eine Webhook-Übermittlung nicht gesendet wurde oder eine Webhook-Übermittlung gesendet wurde, aber GitHub angibt, dass die Zustellung fehlgeschlagen ist, lesen Sie den Leitfaden zur Problembehandlung, um das Problem zu diagnostizieren. Weitere Informationen finden Sie unter [Problembehandlung bei Webhooks](/de/enterprise-server@3.22/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks).

## Lokales Testen von Webhook-Code

Um Ihren Webhook-Code lokal auf Ihrem Computer oder Codespace zu testen, können Sie eine Webhook-Proxy-URL verwenden, um Webhooks von GitHub Ihrem Computer oder Codespace weiterzuleiten. Sie können Ihren Computer oder Codespace als lokalen Server verwenden, um diese weitergeleiteten Webhooks zu empfangen.

In den folgenden Abschnitten wird gezeigt, wie Sie smee.io verwenden, um eine Webhook-Proxy-URL bereitzustellen und Webhooks weiterzuleiten.

Spezifische Beispiele für Code- und Testschritte findest du unter [Verwaltung von Webhook-Lieferungen](/de/enterprise-server@3.22/webhooks/using-webhooks/handling-webhook-deliveries).

### Eine Webhook-Proxy-URL abrufen

1. Navigiere im Browser zu <https://smee.io/>.
2. Klicke auf **Neuen Kanal starten**.
3. Kopiere die vollständige URL unter „Webhook-Proxy-URL“. Sie werden diese URL in den folgenden Einrichtungschritten verwenden.

### Konfigurieren eines Webhooks für die Verwendung der Webhook-Proxy-URL

Konfigurieren Sie Ihren Webhook so, dass die Webhook-Proxy-URL von oben verwendet wird. Weitere Informationen findest du unter [Erstellen von Webhooks](/de/enterprise-server@3.22/webhooks/using-webhooks/creating-webhooks) und [Bearbeiten von Webhooks](/de/enterprise-server@3.22/webhooks/using-webhooks/editing-webhooks).

Jetzt sendet GitHub Webhook-Zustellungen an diese URL.

### Starten eines lokalen Servers

Starten Sie auf Ihrem Computer oder Codespace einen lokalen Server. Die Vorgehensweise hängt davon ab, wie Ihr Code zum Empfangen von Webhooks geschrieben wurde. Beispiele findest du unter [Verwaltung von Webhook-Lieferungen](/de/enterprise-server@3.22/webhooks/using-webhooks/handling-webhook-deliveries).

Sie sollten sicherstellen, dass Ihr Code lokal ausgeführt werden kann. Wenn Ihr Code z. B. auf Umgebungsvariablen auf Ihrem Server in der Produktion basiert, sollten Sie sicherstellen, dass die Umgebungsvariablen auch auf Ihrem lokalen Server verfügbar sind.

Möglicherweise ist es auch hilfreich, Protokollanweisungen hinzuzufügen, damit Sie überprüfen können, ob die Schritte ihres Codes wie erwartet ausgeführt werden.

Lassen Sie Ihren lokalen Server weiterlaufen, während Sie Ihren Webhook testen.

### Weiterleiten von Webhooks

1. Wenn [smee-client](https://www.npmjs.com/package/smee-client) noch nicht installiert ist, führen Sie den folgenden Befehl auf Ihrem Terminal aus:

   ```shell copy
   npm install --global smee-client
   ```

2. Um weitergeleitete Webhooks von smee.io zu empfangen, führen Sie den folgenden Befehl am Terminal aus. Ersetze `WEBHOOK_PROXY_URL` durch deine Webhook-Proxy-URL von früher. Ersetzen Sie `PATH` durch den Pfad oder die Route, die der Server verarbeitet. Ersetzen Sie `PORT` durch den Port, an dem ihr lokaler Server eine Überwachung ausführt.

   ```shell copy
   smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT
   ```

   Sie sollten die Ausgabe sehen, die wie folgt aussieht, wobei die Platzhalter `WEBHOOK_PROXY_URL`, `PORT` und `PATH` durch die von Ihnen angegebenen Werte ersetzt werden:

   ```shell copy
   Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:PORT/PATH
   Connected WEBHOOK_PROXY_URL
   ```

   Wenn Ihre Webhook-Proxy-URL (smee.io-URL) eine Webhook-Auslieferung von GitHub empfängt, leitet smee die Webhook-Auslieferung an Ihren lokalen Server weiter.

3. Lassen Sie dies laufen, während Sie Ihren Webhook testen. Wenn Sie die Weiterleitung von Webhooks beenden möchten, geben Sie <kbd>Strg</kbd>+<kbd>C</kbd> ein.

Zu diesem Zeitpunkt sollten sowohl Ihr lokaler Server als auch die Smee-Weiterleitung laufen.

### Auslösen einer Webhook-Lieferung

Aktivieren Sie den Webhook. Wenn Sie beispielsweise einen Repository-Webhook testen, der das `issues`-Ereignis abonniert hat, öffnen Sie einen Sachverhalt in dem Repository, in dem der Webhook konfiguriert ist.

Sie können auch eine vorherige Webhook-Übermittlung erneut übermitteln. Weitere Informationen finden Sie unter [Erneutes Zustellen von Webhooks](/de/enterprise-server@3.22/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks).

### Überprüfen der Übermittlung

Sie können überprüfen, ob GitHub eine Webhook-Übermittlung gesendet wurde, dass smee die Übermittlung empfangen und weitergeleitet hat und dass Ihr lokaler Server die Webhook-Übermittlung verarbeitet hat.

#### Überprüfen, ob GitHub eine Lieferung gesendet hat

Überprüfen Sie GitHub , ob eine Webhook-Übermittlung gesendet wurde. Weitere Informationen finden Sie unter [Anzeigen von Webhookübermittlungen](/de/enterprise-server@3.22/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries).

Wenn eine Webhook-Übermittlung nicht gesendet wurde oder eine Webhook-Übermittlung gesendet wurde, aber GitHub angibt, dass die Zustellung fehlgeschlagen ist, lesen Sie den Leitfaden zur Problembehandlung, um das Problem zu diagnostizieren. Weitere Informationen finden Sie unter [Problembehandlung bei Webhooks](/de/enterprise-server@3.22/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks).

#### Überprüfen, ob smee Ihre Webhook-Übermittlung erhalten hat

Navigieren Sie zu Ihrer Webhook-Proxy-URL auf „smee.io“. Es sollte ein Ereignis angezeigt werden, das dem ausgelösten oder erneut übermittelten Ereignis entspricht. Dies gibt an, dass GitHub eine Webhook-Übermittlung erfolgreich an die von Ihnen angegebene Nutzlast-URL gesendet wurde.

Wenn die Webhook-Übermittlung auf smee.io nicht angezeigt wird, vergewissern Sie sich, dass Ihr Webhook Ihre Webhook-Proxy-URL (smee.io-URL) verwendet.

#### Überprüfen Sie, ob Ihre Webhook-Lieferung von smee weitergeleitet wurde.

Im Terminalfenster, in dem Sie `smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT` ausgeführt haben, sollte etwas wie `POST http://127.0.0.1:3000/webhook - 202` zu sehen sein. Das zeigt, dass smee Ihren Webhook erfolgreich an Ihren lokalen Server weitergeleitet hat.

Wenn das nicht angezeigt wird, stellen Sie sicher, dass sowohl der Smee-Client als auch der lokale Server ausgeführt werden. Diese Prozesse sollten in zwei separaten Terminalfenstern ablaufen.

Sehen Sie nach Fehlern in den Terminalfenstern, in denen Sie den Smee-Client und den lokalen Server ausführen. Die spezifischen Fehler hängen davon ab, wie Ihr Code zum Empfangen von Webhooks geschrieben wird. Beispiele findest du unter [Verwaltung von Webhook-Lieferungen](/de/enterprise-server@3.22/webhooks/using-webhooks/handling-webhook-deliveries).

#### Überprüfen, ob der lokale Server die Webhook-Übermittlung verarbeitet hat

An diesem Punkt haben Sie überprüft, ob GitHub eine Webhook-Übermittlung gesendet wurde und dass smee die Übermittlung an Ihren lokalen Server weitergeleitet hat. Jetzt sollten Sie überprüfen, ob der Code die Webhook-Übermittlung erwartungsgemäß verarbeitet hat. Die Vorgehensweise hängt davon ab, wie Ihr Code zum Empfangen von Webhooks geschrieben wurde. Beispiele findest du unter [Verwaltung von Webhook-Lieferungen](/de/enterprise-server@3.22/webhooks/using-webhooks/handling-webhook-deliveries).