Wir haben GitHub-Dienste zugunsten der Integration in Webhooks für veraltet erklärt. Dieser Leitfaden hilft dir beim Übergang von GitHub-Diensten zu Webhooks. Weitere Informationen zu dieser Ankündigung findest du in diesem Blogbeitrag.
Alternativ zum E-Mail-Dienst kannst du jetzt E-Mail-Benachrichtigungen für Pushes zu deinem Repository verwenden. Weitere Informationen zum Konfigurieren von Commit-E-Mail-Benachrichtigungen findest du unter Informationen zu E-Mail-Benachrichtigungen für Pushvorgänge an dein Repository.
Zeitachse für die Einstellung
- 1. Oktober 2018: GitHub erlaubte Benutzern nicht mehr, Dienste zu installieren. Wir haben GitHub-Dienste aus der Benutzeroberfläche GitHub.com entfernt.
- 29. Januar 2019: Alternativ zum E-Mail-Dienst kannst du jetzt E-Mail-Benachrichtigungen für Pushes zu deinem Repository verwenden. Weitere Informationen zum Konfigurieren von Commit-E-Mail-Benachrichtigungen findest du unter Informationen zu E-Mail-Benachrichtigungen für Pushvorgänge an dein Repository.
- 31. Januar 2019: GitHub beendet die Bereitstellung der Ereignisse der installierten Dienste auf GitHub.com.
Hintergrund der GitHub-Dienste
GitHub-Dienste (manchmal als Service Hooks bezeichnet) sind die veraltete Methode der Integration, wo GitHub einen Teil der Dienste unseres Integrators über das github-services
-Repository gehostet hat. Auf GitHub ausgeführte Aktionen lösen diese Dienste aus, und du kannst diese Dienste nutzen, um Aktionen außerhalb von GitHub auszulösen.
Suchen von Repositorys, die GitHub-Dienste verwenden
Wir bieten ein Befehlszeilenskript, das dir hilft, herauszufinden, welche Repositorys auf deiner Appliance GitHub-Dienste verwenden. Weitere Informationen findest du im ghe-legacy-github-services-report.
GitHub-Dienste verglichen mit Webhooks
Die wichtigsten Unterschiede zwischen GitHub-Diensten und Webhooks:
- Konfiguration: GitHub-Dienste verfügen über dienstspezifische Konfigurationsoptionen, während Webhooks einfach durch Angabe einer URL und einer Reihe von Ereignissen konfiguriert werden.
- Benutzerdefinierte Logik: GitHub-Dienste können benutzerdefinierte Logik haben, um mit mehreren Aktionen als Teil der Verarbeitung eines einzelnen Ereignisses zu reagieren, während Webhooks keine benutzerdefinierte Logik haben.
- Arten von Anforderungen: GitHub-Dienste können HTTP- und Nicht-HTTP-Anforderungen vornehmen, während Webhooks nur HTTP-Anforderungen vornehmen können.
Ersetzen von Diensten durch Webhooks
So ersetzt du GitHub-Dienste durch Webhooks:
-
Identifiziere die relevanten Webhook-Ereignisse, die du von dieser Liste abonnieren musst.
-
Ändere die Konfiguration je nachdem, wie du derzeit GitHub-Dienste verwendest:
- GitHub-Apps: Aktualisiere die Berechtigungen und abonnierten Ereignisse deiner App, um deine App so zu konfigurieren, dass die relevanten Webhook-Ereignisse empfangen werden.
- OAuth-Apps: Fordere entweder den
repo_hook
- und/oderorg_hook
-Bereich an, um die relevanten Ereignisse im Auftrag von Benutzern zu verwalten. - GitHub-Diensteanbieter: Fordere von den Benutzern, dass sie manuell einen Webhook mit den relevanten Ereignisse konfigurieren, der an dich gesendet werden, oder nutze diese Gelegenheit, eine App zur Verwaltung dieser Funktionalität zu erstellen. Weitere Informationen findest du unter Informationen zum Erstellen von GitHub-Apps.
-
Verschiebe zusätzliche, außerhalb von GitHub liegende Konfiguration. Einige GitHub-Dienste erfordern zusätzliche, benutzerdefinierte Konfiguration auf der Konfigurationsseite in GitHub. Wenn dies auf deinen Dienst zutrifft, musst du diese Funktionalität in deine Anwendung verschieben oder gegebenenfalls auf GitHub- oder OAuth-Apps zurückgreifen.
Unterstützung von GitHub Enterprise Server
- GitHub Enterprise Server 2.17: GitHub Enterprise Server Release 2.17 und höher werden beendet, damit Administratoren Dienste installieren können. Administratoren können weiterhin vorhandene Dienst-Hooks ändern und Dienst-Hooks in GitHub Enterprise Server Release 2.17 bis 2.19 empfangen. Alternativ zum E-Mail-Dienst kannst du E-Mail-Benachrichtigungen für Pushes zu deinem Repository in GitHub Enterprise Server 2.17 und höher verwenden. Weitere Informationen findest du in diesem Blogbeitrag.
- GitHub Enterprise Server 2.20: GitHub Enterprise Server Release 2.20 und höher werden alle Ereignisse der installierten Dienste nicht mehr bereitstellen.
Das GitHub Enterprise Server 2.17-Release wird das erste Release sein, das nicht erlaubt, GitHub-Dienste zu verwalten. Wir unterstützen vorhandene GitHub-Dienste nur, bis das GitHub Enterprise Server 2.20-Release veröffentlicht wird. Wir akzeptieren auch bis zum 1. Oktober 2019 kritische Patches für deinen auf GitHub Enterprise Server ausgeführten GitHub-Dienst.
Migrieren mit unserer Hilfe
Wende dich an uns, wenn du Fragen hast.
Der Migrationsprozess umfasst in der Regel folgende Schritte:
- Identifiziere, wie und wo dein Produkt GitHub-Dienste verwendet.
- Identifiziere die entsprechenden Webhook-Ereignisse, die du konfigurieren musst, um zu einfachen Webhooks zu wechseln.
- Implementiere das Design entweder mithilfe von OAuth Apps oder GitHub Apps. GitHub Apps werden bevorzugt. Weitere Informationen dazu, warum GitHub Apps bevorzugt werden, findest du unter Migrieren von OAuth-Apps zu GitHub-Apps.