Wie kann eine GitHub App ein Repository erstellen?
- Einführung in GitHub Apps
- Voraussetzungen für das Erstellen eines Repositories mit einer GitHub App
- Authentifizierung und API-Nutzung
- API-Endpunkt zum Erstellen eines Repositories
- Zusammenfassung und wichtige Hinweise
Einführung in GitHub Apps
GitHub Apps sind spezielle Anwendungen, die in GitHub integriert werden können, um automatisierte Prozesse und Anpassungen an Repositories zu ermöglichen. Im Gegensatz zu herkömmlichen OAuth-Apps besitzen GitHub Apps feinere Berechtigungen und können unabhängig von einem Benutzerkonto Aktionen ausführen. Dies macht sie besonders nützlich für Aufgaben wie das Erstellen von Repositories, Überwachen von Ereignissen oder Verwalten von Projekten.
Voraussetzungen für das Erstellen eines Repositories mit einer GitHub App
Um mit einer GitHub App ein Repository erstellen zu können, muss die App zunächst bestimmte Berechtigungen haben. Insbesondere benötigt die App die Berechtigung, Repositories zu verwalten oder zu erstellen. Dies wird bei der Erstellung oder Bearbeitung der GitHub App unter dem Abschnitt Berechtigungen und Ereignisse konfiguriert. Ohne die passenden Rechte ist es der App nicht möglich, neue Repositories anzulegen.
Authentifizierung und API-Nutzung
GitHub Apps interagieren mit GitHub über die GitHub REST API oder die GraphQL API. Für die Authentifizierung nutzt die App JSON Web Tokens (JWT), die temporär sind und regelmäßig erneuert werden müssen. Zusätzlich muss die App eine Installation auf einem Benutzer- oder Organisationskonto besitzen, auf dem das Repository erstellt werden soll. Anschließend verwendet die App einen Installations-Access-Token, um API-Anfragen durchzuführen.
Der Ablauf sieht wie folgt aus: Zuerst wird ein JWT generiert, mit diesem erhält die App einen Installations-Access-Token von GitHub. Mit diesem Token kann die App dann eine API-Anfrage an den Endpunkt zum Erstellen von Repositories senden.
API-Endpunkt zum Erstellen eines Repositories
Der relevante API-Endpunkt variiert je nachdem, ob das Repository unter einem persönlichen Benutzerkonto oder einer Organisation erstellt werden soll. Für Organisationen verwendet man den Endpunkt POST /orgs/{org}/repos. Dabei muss der Organisationsname in der URL angegeben und alle notwendigen Parameter wie Repository-Name, Sichtbarkeit und weitere Repository-Einstellungen im Anfragetext enthalten sein.
Werden Repositories unter einem persönlichen Konto erstellt, wird stattdessen der Endpunkt POST /user/repos verwendet. Die erforderlichen Parameter sind ähnlich.
Zusammenfassung und wichtige Hinweise
Zusammenfassend kann eine GitHub App ein Repository erstellen, wenn sie über die richtigen Berechtigungen verfügt und auf einem entsprechenden Konto installiert ist. Die App authentifiziert sich mit einem JWT, erhält einen Installations-Access-Token und ruft dann die API auf, um das Repository anzulegen. Wichtig ist, dass die GitHub App sorgfältig mit den notwendigen Rechten ausgestattet wird, um möglichen Sicherheitsrisiken vorzubeugen. Zudem sollte die App den API-Workflow korrekt implementieren, um fehlerfreie Anfragen sicherzustellen.
