Informationen zu Webhook-Zustellungsfehlern
Eine Webhook-Zustellung kann aus mehreren Gründen fehlschlagen. Wenn Ihr Server beispielsweise ausgefallen ist oder länger als 30 Sekunden für eine Antwort benötigt, wird GitHub die Zustellung als fehlgeschlagen erfassen.
GitHub stellt fehlgeschlagene Zustellungen nicht automatisch erneut zu.
Bearbeitung von Zustellungsfehlern
Fehlgeschlagene Zustellungen können manuell erneut übermittelt werden. Weitere Informationen finden Sie unter Erneutes Zustellen von Webhooks.
Sie können auch ein Skript schreiben, das auf fehlgeschlagene Zustellungen prüft und versucht, alle fehlgeschlagenen Zustellungen erneut zuzustellen. Ihr Skript sollte nach einem Zeitplan ausgeführt werden und Folgendes tun:
-
Verwenden Sie die GitHub REST-API, um Daten zu allen Webhook-Lieferungen abzurufen, die seit dem letzten Ausführen des Skripts versucht wurden. Weitere Informationen findest du unter REST-API-Endpunkte für Repository-Webhooks, REST-API-Endpunkte für Organisationswebhooks und REST-API-Endpunkte für GitHub App Webhooks.
Es gibt keine API-Endpunkte, um Daten zu globalen Webhook-Lieferungen abzurufen.
- Sehen Sie sich die abgerufenen Daten an, um festzustellen, ob Zustellungen fehlgeschlagen sind. Die Daten für eine fehlgeschlagene Zustellung weisen einen
status-Wert auf, der nichtOKentspricht. - Verwenden Sie die GitHub REST-API, um alle fehlgeschlagenen Lieferungen erneut zu senden. Weitere Informationen findest du unter REST-API-Endpunkte für Repository-Webhooks, REST-API-Endpunkte für Organisationswebhooks und REST-API-Endpunkte für GitHub App Webhooks.
Beispielskripts siehe:
- Automatische erneute Lieferung fehlgeschlagener Zustellungen für einen Repository-Webhook
- Automatisches erneutes Versenden bei fehlgeschlagenen Zustellungen eines Organisationswebhooks
- Automatische erneute Zustellung fehlgeschlagener Lieferungen für einen GitHub-App-Webhook
Wenn eine Webhook-Zustellung wiederholt fehlschlägt, sollten Sie die Ursache untersuchen. Bei jeder fehlgeschlagenen Zustellung wird ein Grund für den Fehler angegeben. Weitere Informationen finden Sie unter Problembehandlung bei Webhooks.