Skip to main content

Informationen zum Erstellen von GitHub-Apps

Mit GitHub Apps kannst du Integrationen erstellen, um Prozesse zu automatisieren und die Funktionalität von GitHub zu erweitern.

Informationen zu GitHub Apps

Eine GitHub App ist eine Art von Integration, die du erstellen kannst, um mit GitHub zu interagieren und die Funktionalität des Diensts zu erweitern. Du kannst eine GitHub App erstellen, um den Ablauf deiner Prozesse flexibler und reibungsloser zu gestalten, ohne einen Benutzer anmelden oder ein Dienstkonto erstellen zu müssen.

Zu den gängigen Anwendungsfällen von GitHub Apps gehören:

  • Automatisieren von Aufgaben oder Hintergrundprozessen
  • Unterstützung von „Anmelden mit GitHub“, wodurch Benutzer*innen sich mit ihrem GitHub-Konto anmelden können, um ihre Identität in deinem Ökosystem anzugeben
  • Anwendung als Entwicklertool, mit dem Benutzer*innen mit GitHub arbeiten können, indem sie sich bei deiner GitHub App anmelden, die dann in ihrem Namen handeln kann
  • Integration deines Tools oder externen Diensts mit GitHub

Wie OAuth apps nutzen GitHub Apps OAuth 2.0 und können im Namen des Benutzers bzw. der Benutzerin handeln. Im Gegensatz zu OAuth apps können GitHub Apps auch unabhängig von einem Benutzer bzw. einer Benutzerin handeln.

Du kannst GitHub Apps direkt in Organisationen und persönlichen Konten installieren und ihnen Zugriff auf bestimmte Repositorys gewähren. Diese Apps verfügen über integrierte Webhooks und restriktive, spezifische Berechtigungen.

Standardmäßig können die Einstellungen von GitHub Apps in einer Organisation nur von Organisationsbesitzern verwaltet werden. Um weiteren Benutzern das Ändern der Entwicklereinstellungen von GitHub Apps im Besitz der Organisation zu erlauben, kann ein Benutzer Berechtigungen als GitHub App-Manager erteilen. GitHub App-Manager können keine Drittanbieteranwendungen verwalten. Weitere Informationen zum Hinzufügen und Entfernen von GitHub App-Manager*innen in deiner Organisation finden Sie unter „Rollen in einer Organisation.“

Erstellen einer GitHub App

Um eine GitHub App erstellen zu können, musst du zuerst eine GitHub App registrieren. Weitere Informationen findest du unter Registrieren einer GitHub-App.

Anschließend musst du Code schreiben, um deiner GitHub App Funktionen hinzuzufügen. Du kannst die Anmeldeinformationen deiner GitHub App-Registrierung verwenden, um authentifizierte Anforderungen an die GitHub-APIs zu senden. Weitere Informationen zum Schreiben von Code für deine GitHub App findest du unter Informationen zum Schreiben von Code für eine GitHub-App. Weitere Informationen zum Senden von authentifizierten Anforderungen findest du unter Informationen zur Authentifizierung mit einer GitHub-App.

Nachdem du den Code für deine GitHub App geschrieben hast, muss deine App irgendwo ausgeführt werden. Wenn es sich bei deiner App um eine Website oder Web-App handelt, kannst du deine App auf einem Server wie Azure App Service hosten. Wenn es sich bei deiner App um eine clientseitige App handelt, kann sie auf dem Gerät eines Benutzers bzw. einer Benutzerin ausgeführt werden.

Um deine GitHub App nutzen zu können, musst du die App in deinem Organisationskonto oder persönlichen Konto installieren. Wenn deine GitHub App privat ist, kannst du die GitHub App nur in dem Konto installieren, das die App besitzt. Wenn deine GitHub App öffentlich ist, können andere Benutzer*innen und Organisationen deine App installieren. Weitere Informationen findest du unter Installieren einer eigenen GitHub-App und unter Freigeben deiner GitHub-App.

Entscheiden, welche Art von GitHub App erstellt werden soll

Es gibt mehrere Möglichkeiten, eine GitHub App zu entwerfen, die du in Abhängigkeit von der gewünschten Funktionalität der App in Betracht ziehen solltest.

GitHub Apps, die im Namen des Benutzers bzw. der Benutzerin handeln

Wenn deine App Aktionen im Namen eines Benutzers bzw. einer Benutzerin ausführen soll, solltest du ein Benutzerzugriffstoken für die Authentifizierung verwenden. Diese Art von Anforderung wird manchmal als „Benutzer-zu-Server-Anforderung“ bezeichnet, was bedeutet, dass die App durch die Berechtigungen, die der App erteilt wurden, sowie die Berechtigung des Benutzers bzw. der Benutzerin beschränkt wird. Bei diesem Muster muss derdie Benutzerin die App autorisieren, bevor die App Maßnahmen ergreifen kann. Weitere Informationen findest du unter Authentifizieren mit einer GitHub-App im Namen von Benutzer*innen.

Zu den Automatisierungen, die du mit einer GitHub App erstellen kannst, bei der die App im Namen eines Benutzers bzw. einer Benutzerin handelt, gehören die Folgenden:

  • Eine GitHub App, die GitHub als Identitätsanbieter für dein Ökosystem verwendet
  • Eine GitHub App, die einen Diensts zusätzlich zur GitHub.com hinzufügt, der für einen GitHub-Benutzer nützlich sein kann Du kannst die App für andere Entwickler*innen über GitHub Marketplace freigeben oder die App öffentlich machen.

GitHub Apps, die eigenständig handeln

Wenn du möchtest, dass deine App Aktionen eigenständig und nicht im Namen eines Benutzers bzw. einer Benutzerin ausführt, solltest du ein Installationszugriffstoken für die Authentifizierung verwenden. Diese Art von Anforderung wird manchmal als „Server-zu-Server-Anforderung“ bezeichnet, was bedeutet, dass die App durch die Berechtigungen, die der App erteilt wurden, eingeschränkt wird. Weitere Informationen findest du unter Authentifizierung als GitHub-App-Installation.

Zu den Automatisierungen, die du mit einer GitHub App erstellen kannst, bei der die App eigenständig handelt, gehören die Folgenden:

  • Eine GitHub App, die Webhooks verwendet, um unter Berücksichtigung bestimmter Kriterien auf ein Ereignis zu reagieren. Beispielsweise kannst du eine Automatisierung um die REST-API-Endpunkte für das Überprüfen von Anforderungen für fine-grained personal access token erstellen, die eine Anforderung unter Berücksichtigung einer bestimmten Richtlinie genehmigt.
  • Eine GitHub App, die Repositorymitwirkenden hilft. Beispielsweise kann die App hilfreiche Ressourcen posten, nachdem eine Mitwirkender einen Pull Request erstellt oder einen Kommentar veröffentlicht hat.
  • Eine GitHub App, die kurzlebige Token generiert, die an andere CI/CD-Tools übergeben werden oder Informationen aus einem Repository abrufen können

GitHub Apps, die auf Webhooks reagieren

Wenn deine App auf Ereignisse auf GitHub reagieren soll, muss deine App Webhooks abonnieren. Das kann beispielsweise notwendig sein, wenn deine App einen Kommentar schreiben soll, wenn ein Pull Request erstellt wird. Weitere Informationen findest du unter Verwenden von Webhooks mit GitHub-Apps.

GitHub Apps, die bestimmte Aktionen ausführen können

Beim Einrichten deiner GitHub App kannst du die spezifischen Berechtigungen für deine App auswählen. Diese Berechtigung bestimmen, was die App über die GitHub-API tun kann, was sie im Namen eines angemeldeten Benutzers tun kann und welche Webhooks die App empfangen kann. Weitere Informationen findest du unter Auswählen von Berechtigungen für eine GitHub-App.