Skip to main content

Informationen zum Erstellen von GitHub Apps

GitHub Apps Sie können Integrationen erstellen, um Prozesse zu automatisieren und die Funktionalität zu erweitern GitHub.

Informationen zum GitHub Apps

Ein GitHub App ist eine Art von Integration, die Sie erstellen können, um mit GitHub zu interagieren und dessen Funktionalität zu erweitern. Sie können ein GitHub App erstellen, um Flexibilität zu schaffen und Reibungsverluste in Ihren Prozessen zu reduzieren, ohne einen Nutzer anmelden oder ein Servicekonto erstellen zu müssen.

Häufige Anwendungsfälle für GitHub Apps umfassen:

  • Automatisieren von Aufgaben oder Hintergrundprozessen
  • Unterstützung von "Anmelden mit GitHub", mit dem benutzer sich mit ihrem GitHub Konto anmelden können, um ihre Identität in Ihrem Ökosystem bereitzustellen
  • Als Entwicklertool, mit dem Benutzer mit GitHub arbeiten können, indem sie sich bei Ihrem GitHub App anmelden, das dann in ihrem Namen handeln kann
  • Integration Ihres Tools oder externen Dienstes mit GitHub

Wie OAuth apps verwenden GitHub Apps OAuth 2.0 und können im Auftrag eines Benutzers handeln. Anders als OAuth apps, GitHub Apps kann auch unabhängig von einem Benutzer handeln.

GitHub Apps kann direkt in Organisationen und persönlichen Konten installiert und zugriff auf bestimmte Repositorys gewährt werden. Diese Apps verfügen über integrierte Webhooks und restriktive, spezifische Berechtigungen.

Sie können auch ein unternehmenseigenes GitHub App erstellen, das nur innerhalb in Organisationen innerhalb Ihres Unternehmens installiert werden kann und nur von Mitgliedern Ihres Unternehmens autorisiert werden kann. Weitere Informationen finden Sie unter Erstellen GitHub Apps für Ihr Unternehmen.

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-Managern in deiner Organisation findest du unter Rollen in einer Organisation.

Erstellen eines GitHub App

Um ein GitHub App zu erstellen, müssen Sie zuerst ein GitHub App registrieren. Weitere Informationen finden Sie unter Registrieren einer GitHub-App.

Anschließend müssen Sie Code schreiben, um Ihrem GitHub App Funktionen hinzuzufügen. Sie können die Anmeldedaten aus Ihrer GitHub App Registrierung verwenden, um authentifizierte Anfragen an die APIs von GitHub zu stellen. Weitere Informationen zum Schreiben von Code für Ihr GitHub AppFinden Sie 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 Sie den Code für Ihre GitHub AppApp geschrieben haben, muss ihre App irgendwo ausgeführt werden. Wenn Ihre App eine Website oder Web-App ist, hosten Sie Ihre App möglicherweise auf einem Server wie Azure App Service. 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 Ihr GitHub AppKonto zu verwenden, müssen Sie es in Ihrem Unternehmen, persönlichen Konto installieren.

  • Wenn Ihr GitHub Appprivat ist, können Sie es nur auf dem Konto installieren, dem die App gehört.
  • Wenn Ihr GitHub Appöffentlich ist, können es auch andere Konten installieren.
  • Wenn Ihr GitHub App einem Konzern gehört, können Sie es auf in einer beliebigen Organisation innerhalb dieses Konzerns installieren. Nur Mitglieder des Unternehmens können sich anmelden.

Weitere Informationen findest du unter Installieren Ihrer eigenen GitHub App und Freigeben deiner GitHub-App.

Verstehen, welche Art von GitHub App erstellt werden soll

Es gibt mehrere Möglichkeiten, einen GitHub App zu entwerfen, die Sie je nachdem, welche Funktionen die App haben soll, in Betracht ziehen sollten.

GitHub Apps die im Namen eines Benutzers 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 finden Sie unter Authentifizieren mit einer GitHub App im Namen eines Benutzers.

Einige Beispiele für Automatisierungen, die Sie mit einer GitHub AppErstellen können, in der die App im Namen eines Benutzers fungiert, umfassen:

  • Eine GitHub App, die GitHub als Identitätsanbieter für Ihr Ökosystem verwendet.
  • Ein GitHub App, das einen Dienst auf GitHub aufsetzt, könnte für einen GitHub Nutzer nützlich sein. Sie können die App über GitHub Marketplace mit anderen Entwicklern teilen oder die App öffentlich machen.

GitHub Apps die im eigenen Namen 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 finden Sie unter Authentifizieren als GitHub App-Installation.

Einige Beispiele für Automatisierungen, die Sie mit einer GitHub AppErstellen können, in der die App im eigenen Auftrag agiert, umfassen:

  • Ein GitHub App, das Webhooks verwendet, um anhand eines bestimmten Satzes von Kriterien auf ein Ereignis zu reagieren. Sie können z. B. eine Automatisierung für die REST-API-Endpunkte zum Überprüfen von Anfragen für fine-grained personal access token erstellen, die eine Anfrage gemäß einer bestimmten Richtlinie genehmigt.
  • Ein GitHub App, das Mitwirkenden an Repositorys hilft. Beispielsweise kann die App hilfreiche Ressourcen posten, nachdem eine Mitwirkender einen Pull Request erstellt oder einen Kommentar veröffentlicht hat.
  • Ein GitHub App, das kurzlebige Token generiert, um sie an andere CI/CD-Tools weiterzugeben oder Informationen aus einem Repository abzurufen.

GitHub Apps die auf Webhooks reagieren

Wenn Ihre App auf Ereignisse auf GitHub reagieren soll, sollte sie Webhooks abonnieren. Zum Beispiel möchtest du, dass deine App einen Kommentar schreibt, wenn ein Pull Request erstellt wird. Weitere Informationen finden Sie unter Verwenden von Webhooks mit GitHub Apps.

GitHub Apps die bestimmte Aktionen ausführen können

Wenn Sie GitHub App einrichten, können Sie bestimmte Berechtigungen für die App auswählen. Diese Berechtigungen bestimmen, was die App über die GitHub API tun kann, was sie im Namen eines angemeldeten Benutzers tun können und welche Webhooks die App empfangen kann. Weitere Informationen finden Sie unter Auswählen von Berechtigungen für eine GitHub App.