GitLab in ChatGPT und Codex befindet sich derzeit in der Betaphase.
Überblick
Verwende die App-Vorlage für GitLab Self-Managed, um für eine GitLab Self-Managed- oder GitLab Dedicated-Instanz einen Workspace-spezifischen App-Entwurf zu erstellen. Gib den GitLab-Hostnamen und die Anmeldedaten der OAuth-Anwendung an, prüfe den App-Entwurf und veröffentliche ihn anschließend für berechtigte Workspace-Mitglieder. Nach der Veröffentlichung sind die aktivierten Aktionen der App in ChatGPT-Unterhaltungen und Codex-Sitzungen verfügbar.
Einen Überblick über unterstützte GitLab-Funktionen, Verfügbarkeit, Berechtigungen, Datennutzung und Netzwerkanforderungen findest du unter GitLab mit ChatGPT und Codex verbinden.
Was du einrichtest
Du erstellst aus der App-Vorlage für GitLab Self-Managed eine Workspace-spezifische App. Die App verwendet:
Eine GitLab-OAuth-Anwendung, die auf deinem GitLab Self-Managed- oder GitLab Dedicated-Host registriert ist.
Die GitLab-OAuth-Werte Application ID und Secret für die Autorisierung.
Die erforderlichen OAuth-Bereiche: api, write_repository und openid.
Deinen GitLab-Hostnamen, zum Beispiel gitlab.example.com, um daraus die Web-, API-, Autorisierungs- und Token-Endpunkte abzuleiten.
Bevor du beginnst
Du benötigst:
Administrator- oder Inhaberzugriff auf den ChatGPT-Workspace.
Die GitLab-Berechtigung zum Erstellen der OAuth-Anwendung: Inhaberzugriff auf die Gruppe für eine gruppeneigene App oder Instanzadministratorzugriff für eine instanzweite App.
Nur den GitLab-Hostnamen, ohne https://, Port oder Pfad. Verwende einen GitLab Self-Managed- oder GitLab Dedicated-Host, nicht gitlab.com.
Eine Entscheidung darüber, welche GitLab-Aktionen ChatGPT und Codex unterstützen sollen, etwa die Repository-Suche, Workflows für Merge Requests und Issues, Dateibearbeitungen oder umfassendere Codex-Workflows.
Lasse ChatGPT und GitLab in separaten Tabs geöffnet. Kopiere die in ChatGPT angezeigte Redirect URI exakt. Erstelle oder ändere sie nicht.
Vorzubereitende Werte
GitLab-Hostname: zum Beispiel gitlab.example.com.
Redirect URI: Kopiere sie aus dem Einrichtungsablauf der ChatGPT-Vorlage.
GitLab-OAuth-Application ID.
GitLab-OAuth-Secret.
OAuth-Bereiche: Kopiere sie aus dem Einrichtungsablauf der ChatGPT-Vorlage.
Start the template setup in ChatGPT
In ChatGPT, switch to the workspace where the app should be available.
Go to Workspace settings > Plugins.
In Directory, find GitLab, open its GitLab Self-Managed app template, and select Enable.
Enter a clear app name and description.
Enter the GitLab hostname, such as gitlab.example.com.
Copy the Redirect URI shown in ChatGPT, and keep this tab open.
Example: https://chatgpt.com/connector/oauth/<redirect_id>. Do not remove the redirect ID, add a trailing slash, or replace the URI with a generic ChatGPT URL.
GitLab-OAuth-Anwendung in GitLab erstellen
Ort zum Erstellen der Anwendung auswählen
Öffne deinen GitLab-Host, zum Beispiel https://gitlab.example.com.
Wähle aus, ob du eine instanzweite oder eine gruppeneigene Anwendung erstellen möchtest. Diese Auswahl bestimmt, wer die Anwendung verwaltet. Der Projektzugriff richtet sich weiterhin nach den GitLab-Berechtigungen der autorisierenden Person und den gewährten OAuth-Bereichen.
Rufe für eine instanzweite Anwendung Admin > Anwendungen auf. Rufe für eine gruppeneigene Anwendung in der Gruppe Einstellungen > Anwendungen auf.
Anwendungsdetails hinzufügen
Wähle Neue Anwendung oder Neue Anwendung hinzufügen aus.
Gib einen eindeutigen App-Namen ein, zum Beispiel GitLab Self-Managed oder GitLab Dedicated.
Füge unter Redirect URI die exakte aus ChatGPT kopierte URI ein.
Lasse Vertraulich für diese serverseitige OAuth-Anwendung aktiviert.
Zugriff konfigurieren und speichern
Für eine instanzweite Anwendung empfiehlt GitLab, Vertrauenswürdig auszuwählen. Dadurch wird die Autorisierungsabfrage übersprungen.
Wähle die Bereiche api, write_repository und openid aus.
Prüfe, wer die Anwendung verwalten darf, und vergewissere dich, dass die autorisierenden Personen in GitLab über die passenden Gruppen- und Projektberechtigungen verfügen.
Speichere die Anwendung.
Anforderungen an OAuth-Bereiche
Die Vorlage fordert für aktivierte GitLab-Aktionen in ChatGPT und Codex die folgenden OAuth-Bereiche an:
api: erforderlich für die von der App bereitgestellten GitLab-API-Vorgänge, darunter Aktionen für Merge Requests, Issues und CI/CD.
write_repository: erforderlich für Schreibvorgänge in Repositorys über Git.
openid: erforderlich für Identitäts- und Mitgliedschaftsinformationen über OpenID Connect.
GitLab-OAuth-Anmeldedaten kopieren
Kopiere in der gespeicherten GitLab-Anwendung die Application ID und das Secret. Behandle das Secret als Anmeldedaten. Falls es offengelegt wird, erneuere es in GitLab und erstelle eine neue Workspace-App.
Einrichtung in ChatGPT abschließen
Kehre zum Tab für die Einrichtung der ChatGPT-Vorlage zurück.
Füge die GitLab-Application ID unter OAuth-Client-ID ein.
Füge das GitLab-Secret unter OAuth-Client-Secret ein.
Vergewissere dich, dass das Feld für den GitLab-Hostnamen nur den Hostnamen enthält, zum Beispiel gitlab.example.com.
Wähle Entwurf erstellen aus.
Öffne die Details des App-Entwurfs und prüfe den Rollenzugriff sowie die Aktionskonfiguration.
App für ChatGPT und Codex veröffentlichen und verwalten
Durch das Erstellen des App-Entwurfs wird er nicht automatisch für Mitglieder verfügbar. Nach der Prüfung des Entwurfs:
Wähle für den App-Entwurf Veröffentlichen aus.
Rufe Workspace-Einstellungen > Plug-Ins auf und vergewissere dich, dass GitLab für die vorgesehenen Rollen verfügbar ist.
Prüfe den Rollenzugriff für die Rollen, die die App verwenden sollen.
Prüfe unter Aktionen konfigurieren die verfügbaren Lese- und Schreibaktionen.
Lege unter Genehmigungen konfigurieren fest, wann eine Aktion genehmigt werden muss, bevor ChatGPT oder Codex die App verwendet.
Bitte eine Testperson mit Zugriff, GitLab über das Plug-In-Verzeichnis oder über Einstellungen > Plug-Ins zu öffnen. Vergewissere dich, dass die Person das Plug-In installieren und eine Verbindung zu der App herstellen kann, die aus der Self-Managed-Vorlage für GitLab erstellt wurde.
Diese App-Genehmigungseinstellungen gelten für ChatGPT-Unterhaltungen und Codex-Threads.
GitLab-Aktivität für die Codeüberprüfung mit Codex einrichten
Konfiguriere nach der Veröffentlichung der App die GitLab-Aktivität in Codex, wenn du die Codeüberprüfung mit Codex verwenden möchtest. Bei dieser Einrichtung der Aktivität werden die erforderlichen Webhook-Ereignisse konfiguriert.
Öffne die Codex-Connector-Einstellungen.
Konfiguriere ein Workspace-Dienstkonto. Lasse Codex das Konto erstellen oder gib ein persönliches Zugriffstoken für ein vorhandenes Dienstkonto an.
Aktiviere die GitLab-Aktivität für das Projekt oder eine seiner übergeordneten Gruppen.
Wenn Codex Programmieraufgaben ausführen oder eine projektspezifische Einrichtung verwenden soll, erstelle eine Projektumgebung.
Die GitLab-App verwendet für Lesevorgänge und aktivierte Aktionen in ChatGPT und Codex benutzerbezogenes OAuth. Bei Schreibvorgängen durch Codex-Überprüfungen in GitLab Self-Managed oder GitLab Dedicated bestimmt das vom Workspace verwaltete Dienstkonto-Token, unter welcher Identität und in welchen Projekten Codex kommentieren oder reagieren kann.
Weitere Informationen: GitLab-Merge-Requests mit Codex überprüfen.
GitLab-App verbinden und testen
Öffne als Person mit Zugriff GitLab über das Plug-In-Verzeichnis oder über Einstellungen > Plug-Ins. Wähle Plug-In installieren und anschließend Verbinden aus.
Wenn dein Workspace über mehrere GitLab-Apps verfügt, wähle die App für diesen GitLab Self-Managed- oder GitLab Dedicated-Host aus.
Autorisiere bei Aufforderung die GitLab-OAuth-Anwendung.
Führe zuerst eine kleine Leseaktion in ChatGPT oder Codex aus, etwa eine Liste der zugänglichen Projekte abzurufen oder einen bekannten Merge Request zu laden.
Wenn Schreibaktionen aktiviert sind, teste sie vor der breiteren Einführung in einem risikoarmen Projekt und in jedem Produkt, in dem du sie verwenden möchtest.
Hostname und OAuth-Verhalten
Die App leitet aus dem Hostnamen die GitLab-Endpunkte ab. Gib nur den Host ein, zum Beispiel gitlab.example.com. Gib weder https:// noch einen API- oder Repository-Pfad, einen Port oder gitlab.com an. Diese Vorlage ist für GitLab Self-Managed oder GitLab Dedicated vorgesehen. Verwende für GitLab.com (SaaS) die GitLab-App.
Fehlerbehebung bei der Einrichtung der GitLab Self-Managed-App
Redirect URI stimmt nicht überein: Vergewissere dich, dass die Redirect URI der GitLab-OAuth-Anwendung exakt mit der in ChatGPT angezeigten Redirect URI übereinstimmt.
ChatGPT kann den App-Entwurf nicht erstellen oder speichern: Vergewissere dich, dass Hostname, Application ID, Secret und Redirect URI vorhanden sind.
Die Authentifizierung ist erfolgreich, aber Projektaufrufe schlagen fehl: Vergewissere dich, dass die autorisierende Person in GitLab auf das Projekt zugreifen kann und die OAuth-Anwendung über die Bereiche der Vorlage verfügt.
Die API gibt 403 oder unzureichende Berechtigungen zurück: Vergewissere dich, dass das verbundene GitLab-Konto über die erforderlichen Projekt- oder Gruppenberechtigungen verfügt und die OAuth-Anwendung die erforderlichen Bereiche der Vorlage umfasst.
Auf keine Projekte kann zugegriffen werden: Vergewissere dich, dass die Person Projektzugriff hat, mit der vorgesehenen GitLab-Instanz verbunden ist und in ChatGPT oder Codex die richtige GitLab-App ausgewählt hat.
