Skip to main content
Wir veröffentlichen regelmäßig Aktualisierungen unserer Dokumentation, und die Übersetzung dieser Seite ist möglicherweise noch nicht abgeschlossen. Aktuelle Informationen findest du in der englischsprachigen Dokumentation.

Informationen zu Apps

Du kannst Integrationen mithilfe der GitHub-APIs erstellen, um deinem eigenen Workflow Flexibilität hinzuzufügen und einen reibungslosen Ablauf zu gewährleisten. Du kannst Integrationen auch mit anderen Benutzer*innen auf GitHub Marketplace teilen.

Apps auf GitHub ermöglichen dir die Automatisierung und Verbesserung deines Workflows. Du kannst Apps erstellen, um deinen Workflow zu verbessern. Darüber hinaus kannst du Apps über den GitHub Marketplace freigeben oder verkaufen. Weitere Informationen zum Anbieten von Apps im GitHub Marketplace findest du unter Informationen zu GitHub Marketplace.

GitHub Apps sind die offiziell empfohlene Möglichkeit zur Integration in GitHub, weil sie viel detailliertere Berechtigungen für den Zugriff auf Daten bieten., GitHub unterstützt jedoch sowohl OAuth Apps als auch GitHub Apps. Informationen zur Auswahl eines App-Typs findest du unter Unterschiede zwischen GitHub-Apps und OAuth-Apps.

Wenn du deine App mit GitHub Actions verwendest und Workflowdateien ändern möchtest, musst du dich im Auftrag des Benutzers mit einem OAuth-Token authentifizieren, das den workflow-Bereich enthält. Der Benutzer muss über Administrator- oder Schreibberechtigungen für das Repository verfügen, das die Workflowdatei enthält. Weitere Informationen findest du unter Bereiche für OAuth-Apps.

Eine exemplarische Vorgehensweise für die Erstellung einer GitHub App findest du unter Verwenden der GitHub-API in deiner App.

Informationen zu GitHub Apps

GitHub Apps sind erstklassige Akteure auf GitHub. Eine GitHub App agiert selbstständig, indem sie direkt mit ihrer eigenen Identität Aktionen über die API ausführt. Dies bedeutet, dass du kein Bot- oder Dienstkonto als separaten Benutzer benötigst.

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. Beim Einrichten deiner GitHub App kannst du die Repositorys auswählen, auf die die App zugreifen soll. Du kannst beispielsweise eine App MyGitHub einrichten, die Probleme im Repository und octocatnur das octocat Repository schreibt. Zum Installieren einer GitHub App musst du ein Organisationsbesitzer sein oder über Administratorberechtigungen in einem Repository verfügen.

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

GitHub Apps sind Anwendungen, die irgendwo gehostet werden müssen. Schrittanleitungen zu den Themen Server und Hosting findest du unter Verwenden der GitHub-API in deiner App.

Zum Verbessern deines Workflows kannst du eine GitHub App erstellen, die mehrere Skripts oder eine gesamte Anwendung enthält, und dann diese App mit vielen anderen Tools verbinden. So kannst du beispielsweise GitHub Apps mit GitHub, Slack, anderen ggf. vorhandenen internen Apps, E-Mail-Programmen oder anderen APIs verbinden.

Beachte beim Erstellen von GitHub Apps die folgenden Punkte:

  • Ein Benutzer oder eine Organisation kann bis zu 100 GitHub-Apps besitzen.

  • Eine GitHub App sollte Aktionen unabhängig von Benutzer*innen ausführen (es sei denn, die App verwendet ein Benutzerzugriffstoken). Um Benutzerzugriffstoken sicherer zu gestalten, kannst du Zugriffstoken, die nach acht Stunden ablaufen, und ein Aktualisierungstoken verwenden, das gegen ein neues Zugriffstoken ausgetauscht werden kann. Weitere Informationen findest du unter Aktualisieren von Benutzerzugriffstoken.

  • Stelle sicher, dass die GitHub App mit bestimmten Repositorys integriert werden kann.

  • Die GitHub App sollte eine Verbindung mit einem persönlichen Konto oder einer Organisation herstellen.

  • Erwarte nicht, dass die GitHub App alles weiß und kann, was Benutzer*innen wissen und können.

  • Verwende keine GitHub App, wenn du nur einen Dienst zum Anmelden mit GitHub benötigst. Eine GitHub App kann jedoch ein Benutzerzugriffstoken generieren, um Benutzer*innen anzumelden und andere Aktionen auszuführen.

  • Erstelle keine GitHub App, wenn du nur als GitHub-Benutzer*in agieren und alle möglichen Benutzeraktionen ausführen möchtest.

  • Wenn du deine App mit GitHub Actions verwendest und Workflowdateien ändern möchtest, musst du dich im Auftrag des Benutzers mit einem OAuth-Token authentifizieren, das den workflow-Bereich enthält. Der Benutzer muss über Administrator- oder Schreibberechtigungen für das Repository verfügen, das die Workflowdatei enthält. Weitere Informationen findest du unter Bereiche für OAuth-Apps.

Sieh dir zunächst den Artikel Erstellen einer GitHub-App an, um mit dem Entwickeln von GitHub Apps zu beginnen. Wenn du mehr über die Verwendung von GitHub App-Manifesten erfahren möchtest, mit denen vorkonfigurierte GitHub Apps erstellt werden können, lies den Artikel Erstellen einer GitHub-App aus einem Manifest.

Informationen zu OAuth Apps

OAuth2 ist ein Protokoll, mit dem externe Anwendungen Zugriff auf private Details im GitHub-Konto eines Benutzers oder einer Benutzerin beantragen können, ohne dass auf das Kennwort zugegriffen werden muss. Dies ist der Standardauthentifizierung vorzuziehen, da Token auf bestimmte Arten von Daten beschränkt und jederzeit von den Benutzer*innen widerrufen werden können.

Warnung: Durch das Widerrufen aller Berechtigungen einer OAuth App werden alle SSH-Schlüssel gelöscht, die die Anwendung im Namen des Benutzers generiert hat, einschließlich der Bereitstellungsschlüssel.

Eine OAuth App verwendet GitHub als Identitätsanbieter, um sich als der Benutzer bzw. die Benutzerin zu authentifizieren, der bzw. die Zugriff auf die App gewährt. Dies bedeutet, dass Benutzer*innen, die einer OAuth App Zugriff gewähren, dieser App Berechtigungen für alle Repositorys erteilen, auf die sie mit ihrem Konto Zugriff haben, sowie für alle Organisationen, zu denen sie gehören und bei denen der Zugriff durch Dritte nicht blockiert ist.

Das Erstellen einer OAuth App ist eine gute Option, wenn du Prozesse erstellst, die zu komplex für ein einfaches Skript sind. Beachte, dass es sich bei OAuth Apps um Anwendungen handelt, die irgendwo gehostet werden müssen.

Beachte beim Erstellen von OAuth Apps die folgenden Punkte:

  • Ein Benutzer oder eine Organisation kann bis zu 100 OAuth-Apps besitzen.
  • Eine OAuth App sollte immer und überall auf GitHub als der bzw. die authentifizierte GitHub-Benutzer*in agieren (z. B. beim Bereitstellen von Benutzerbenachrichtigungen).
  • Eine OAuth App kann als Identitätsanbieter verwendet werden, indem das Anmelden mit GitHub für den bzw. die authentifizierte Benutzer*in aktiviert wird.
  • Erstelle keine OAuth App, wenn deine Anwendung nur für ein Repository Aktionen ausführen soll. Mit dem OAuth-Bereich repo können OAuth Apps in allen Repositorys des authentifizierten Benutzers bzw. der authentifizierten Benutzerin Aktionen ausführen.
  • Erstelle keine OAuth App als Anwendung für dein Team oder Unternehmen. OAuth Apps authentifizieren sich als einzelner Benutzer bzw. einzelne Benutzerin. Wenn eine Person eine OAuth App zur Nutzung durch ein Unternehmen erstellt und dann das Unternehmen verlässt, hat folglich niemand mehr Zugriff darauf.
  • Wenn du deine OAuth-App mit GitHub Actions verwendest und Workflowdateien ändern möchtest, muss dein OAuth-Token über den Bereich workflow verfügen, und der Benutzer muss über Besitzer- oder Schreibberechtigung für das Repository verfügen, das die Workflowdatei enthält. Weitere Informationen findest du unter Bereiche für OAuth-Apps.

Weitere Informationen zu OAuth Apps findest du unter Erstellen einer OAuth-App und unter Authentifizieren bei der REST-API mit einer OAuth-App.

Personal access tokens

Ein personal access token ist eine Zeichenfolge, die ähnlich wie ein OAuth-Token funktioniert, da du die mit ihm verknüpften Berechtigungen über Bereiche festlegen kannst. Ein personal access token ähnelt auch einem Kennwort. Du kannst jedoch über viele persönliche Zugriffstoken verfügen und den Zugriff für die einzelnen Token jederzeit widerrufen.

Du kannst zum Beispiel einem personal access token Schreibberechtigungen für deine Repositorys erteilen. Wenn du dann einen curl-Befehl ausführst oder ein Skript schreibst, das ein Issue in deinem Repository erstellt, wird zur Authentifizierung das personal access token übergeben. Du kannst das personal access token als Umgebungsvariable speichern, damit du es nicht bei jeder Verwendung neu eintippen musst.

Beachte bei der Verwendung von personal access token die folgenden Punkte:

  • Denke daran, dieses Token nur für dich selbst zu verwenden.
  • Du kannst einmalige curl-Anforderungen ausführen.
  • Du kannst persönliche Skripts ausführen.
  • Richte kein Skript ein, das von deinem gesamten Team oder Unternehmen verwendet werden soll.
  • Richte kein gemeinsam genutztes persönliches Konto ein, das als Botbenutzer fungieren soll.
  • Erteile deinem Token nur die minimal benötigten Berechtigungen.
  • Lege ein Ablaufdatum für deine personal access token fest, um deine Daten zu schützen.

Entscheidung über die zu erstellende Integration

Bevor du mit dem Erstellen von Integrationen beginnst, musst du die beste Möglichkeit für den Zugriff, die Authentifizierung und die Interaktion mit den GitHub-APIs ermitteln.

Berücksichtige bei der Entscheidung, ob personal access token, GitHub Apps oder OAuth Apps für die Integration verwendet werden sollen, die folgenden Fragen zum gewünschten Verhalten deiner Integration und zu den Zugriffsanforderungen:

  • Agiert meine Integration nur als ich, oder verhält sie sich eher wie eine Anwendung?
  • Möchte ich, dass sie unabhängig von mir als eigene Entität agiert?
  • Greift sie auf alles zu, worauf ich zugreifen kann, oder möchte ich ihren Zugriff beschränken?
  • Ist sie einfach oder komplex? Beispielsweise ist ein personal access token gut für einfache Skripts und curl-Befehle geeignet, während eine OAuth App komplexere Skripts verarbeiten kann.

Wenn die Integration nur in deiner Rolle agiert, der Zugriff jedoch eingeschränkt werden soll, verwende eine GitHub App oder ein fine-grained personal access token.

Wenn sich die Integration eher wie eine Anwendung verhalten soll, überlege, ob die Integration von dir unabhängig als eigenständige Entität agieren soll. Wenn ja, verwende eine GitHub App.

Anfordern von Unterstützung

Um Fragen, Fehlerberichte und Diskussionen zu GitHub Apps, OAuth Apps und API-Entwicklung zu finden, durchsuche das Diskussionen zu APIs und Integrationen in der GitHub-Community. Die Diskussionen werden von GitHub-Mitarbeiterinnen moderiert und gewartet, aber Fragen, die im Forum gestellt werden, werden nicht zwingend von GitHub-Mitarbeiterinnen beantwortet.

Wende dich bei folgenden Anliegen über das Kontaktformular direkt an den GitHub-Support:

  • garantierte Antwort von GitHub-Mitarbeitern
  • Support-Anfragen mit sensitiven Daten oder privaten Anliegen
  • Feature-Anfragen
  • Feedback zu GitHub-Produkten