OpenAI
Diese Seite wurde maschinell übersetzt. Den Originalartikel auf Englisch ansehen.

App-Vorlage für GitLab Self-Managed für ChatGPT und Codex einrichten

Hier erfährst du, wie Workspace-Administratoren die App-Vorlage für GitLab Self-Managed mithilfe der GitLab-OAuth-Anwendung ihrer Organisation für eine GitLab Self-Managed- oder GitLab Dedicated-Instanz konfigurieren können.

Aktualisiert: 4 days ago

GitLab in ChatGPT und Codex befindet sich derzeit in der Betaphase.

Überblick

Erstelle mit der App-Vorlage für GitLab Self-Managed einen App-Entwurf für deinen Workspace, der eine Instanz von GitLab Self-Managed oder GitLab Dedicated anbindet. Gib den GitLab-Hostnamen und die Zugangsdaten der OAuth-Anwendung ein, 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 die unterstützten GitLab-Funktionen, Verfügbarkeit, Berechtigungen, Datennutzung und Netzwerkanforderungen findest du im Artikel GitLab mit ChatGPT und Codex verbinden.

Was du einrichtest

Du erstellst aus der App-Vorlage für GitLab Self-Managed eine App speziell für deinen Workspace. Die App verwendet:

  • Eine GitLab-OAuth-Anwendung, die auf deinem Host für GitLab Self-Managed oder GitLab Dedicated registriert ist.

  • Die GitLab-OAuth-Werte Anwendungs-ID und Geheimer Schlüssel für die Autorisierung durch die nutzende Person.

  • Die erforderlichen OAuth-Scopes: api, write_repository und openid.

  • Deinen GitLab-Hostnamen, etwa gitlab.example.com, um die Web-, API-, Autorisierungs- und Token-Endpunkte abzuleiten.

Bevor du beginnst

Du benötigst:

  • Admin- oder Eigentumsrechte für den ChatGPT-Workspace.

  • Die GitLab-Berechtigung zum Erstellen der OAuth-Anwendung: Eigentumsrechte für die Gruppe bei einer gruppeneigenen App oder Administrationsrechte für die Instanz bei einer instanzweiten App.

  • Nur den GitLab-Hostnamen, ohne https://, Port oder Pfad. Verwende einen Host mit GitLab Self-Managed oder GitLab Dedicated, nicht gitlab.com.

  • Eine Entscheidung darüber, welche GitLab-Aktionen ChatGPT und Codex unterstützen sollen, etwa Repository-Suche, Workflows für Merge Requests oder Issues, Dateibearbeitungen oder umfassendere Codex-Workflows.

Lass ChatGPT und GitLab in getrennten Tabs geöffnet. Kopiere die in ChatGPT angezeigte Weiterleitungs-URI exakt. Erstelle oder ändere sie nicht selbst.

Um die Seite Apps über die Admin-Konsole zu öffnen, wähle den gewünschten ChatGPT-Workspace, öffne Plugins und wähle Legacy-Apps verwalten.

Werte, die du vorbereiten solltest

  • GitLab-Hostname: zum Beispiel gitlab.example.com.

  • Weiterleitungs-URI: Kopiere sie aus dem Einrichtungsablauf für die Vorlage in ChatGPT.

  • Anwendungs-ID für GitLab OAuth.

  • Geheimer Schlüssel für GitLab OAuth.

  • OAuth-Scopes: Kopiere sie aus dem Einrichtungsablauf für die Vorlage in ChatGPT.

Start the template setup in ChatGPT

  1. In ChatGPT, switch to the workspace where the app should be available.

  2. Go to Workspace settings > Apps.

  3. In Directory, find GitLab, open its GitLab Self-Managed app template, and select Enable.

  4. Enter a clear app name and description.

  5. Enter the GitLab hostname, such as gitlab.example.com.

  6. 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.

Die GitLab-OAuth-Anwendung in GitLab erstellen

Auswählen, wo die Anwendung erstellt werden soll

  1. Rufe deinen GitLab-Host auf, etwa https://gitlab.example.com.

  2. Entscheide, ob du eine instanzweite oder eine gruppeneigene Anwendung erstellen möchtest. Diese Wahl bestimmt, wer die Anwendung verwaltet. Der Projektzugriff richtet sich weiterhin nach den GitLab-Berechtigungen der autorisierenden Person und den gewährten OAuth-Scopes.

  3. Gehe für eine instanzweite Anwendung zu Administration > Anwendungen. Gehe für eine gruppeneigene Anwendung in der Gruppe zu Einstellungen > Anwendungen.

Anwendungsdetails hinzufügen

  1. Wähle Neue Anwendung oder Neue Anwendung hinzufügen.

  2. Gib einen eindeutigen App-Namen ein, etwa GitLab Self-Managed oder GitLab Dedicated.

  3. Füge unter Weiterleitungs-URI die aus ChatGPT kopierte URI unverändert ein.

  4. Lass Vertraulich für diese serverseitige OAuth-Anwendung aktiviert.

Zugriff konfigurieren und speichern

  1. Für eine instanzweite Anwendung empfiehlt GitLab, Vertrauenswürdig auszuwählen. Dadurch wird die Autorisierungsabfrage für die nutzende Person übersprungen.

  2. Wähle die Scopes api, write_repository und openid aus.

  3. Prüfe, wer die Anwendung verwalten darf und ob die Personen, die sie in GitLab autorisieren, die passenden Gruppen- und Projektberechtigungen haben.

  4. Speichere die Anwendung.

Erforderliche OAuth-Scopes

Die Vorlage fordert die folgenden OAuth-Scopes für aktivierte GitLab-Aktionen in ChatGPT und Codex an:

  • api: erforderlich für GitLab-API-Operationen, die die App bereitstellt, einschließlich Aktionen für Merge Requests, Issues und CI/CD.

  • write_repository: erforderlich für Schreiboperationen in Repositorys über Git.

  • openid: erforderlich für Identitäts- und Mitgliedschaftsinformationen über OpenID Connect.

GitLab-OAuth-Zugangsdaten kopieren

Kopiere in der gespeicherten GitLab-Anwendung die Werte der Felder Anwendungs-ID und Geheimer Schlüssel. Behandle den Wert im Feld Geheimer Schlüssel wie andere Zugangsdaten. Falls er unbefugt bekannt wird, erneuere ihn in GitLab und erstelle eine neue Workspace-App.

Einrichtung in ChatGPT abschließen

  1. Kehre zum Tab für die Vorlageneinrichtung in ChatGPT zurück.

  2. Füge die Anwendungs-ID aus GitLab in das Feld OAuth-Client-ID ein.

  3. Füge den Wert aus dem GitLab-Feld Geheimer Schlüssel in das Feld Geheimer OAuth-Client-Schlüssel ein.

  4. Prüfe, ob das Feld für den GitLab-Hostnamen nur den Hostnamen enthält, etwa gitlab.example.com.

  5. Wähle Entwurf erstellen.

  6. Öffne die Details des App-Entwurfs und prüfe die Bereiche „Rollenzugriff“ und „Aktionen konfigurieren“.

Die App für ChatGPT und Codex veröffentlichen und verwalten

Wenn du den App-Entwurf erstellst, steht die App den Mitgliedern noch nicht automatisch zur Verfügung. Nachdem du den Entwurf geprüft hast:

  1. Wähle beim App-Entwurf Veröffentlichen.

  2. Rufe die Admin-Konsole auf, wähle den gewünschten ChatGPT-Workspace und öffne Plugins. Prüfe dann, ob GitLab für die vorgesehenen Rollen verfügbar ist.

  3. Prüfe den Rollenzugriff für die Rollen, die die App nutzen sollen.

  4. Prüfe unter Aktionen konfigurieren die verfügbaren Lese- und Schreibaktionen.

  5. Lege unter Genehmigungen konfigurieren fest, wann Personen eine Aktion genehmigen müssen, bevor ChatGPT oder Codex die App nutzt.

  6. Bitte eine Testperson mit Zugriffsberechtigung, GitLab über das Plugin-Verzeichnis oder Einstellungen > Plugins zu öffnen. Prüfe, ob die Person das Plugin installieren und sich mit der App verbinden kann, die aus der Vorlage für GitLab Self-Managed erstellt wurde.

Diese Genehmigungseinstellungen der App gelten für ChatGPT-Unterhaltungen und Codex-Threads.

GitLab-Aktivität für Code-Reviews mit Codex einrichten

Wenn du Code-Reviews mit Codex nutzen möchtest, konfiguriere nach der Veröffentlichung der App die GitLab-Aktivität in Codex. Bei dieser Einrichtung werden die erforderlichen Webhook-Ereignisse konfiguriert.

  1. Öffne die Konnektor-Einstellungen von Codex.

  2. Konfiguriere ein Dienstkonto für den Workspace. Lass Codex das Konto erstellen oder gib ein persönliches Zugriffstoken für ein bestehendes Dienstkonto an.

  3. Aktiviere GitLab-Aktivität für das Projekt oder eine seiner übergeordneten Gruppen.

  4. Wenn Codex Programmieraufgaben ausführen oder eine projektspezifische Konfiguration nutzen muss, erstelle eine Projektumgebung.

Die GitLab-App nutzt für Lesezugriffe und aktivierte Aktionen in ChatGPT und Codex die OAuth-Autorisierung der jeweiligen Person. Für Schreibaktionen bei Codex-Reviews in GitLab Self-Managed oder GitLab Dedicated bestimmt das im Workspace verwaltete Dienstkonto-Token, unter welcher Identität und in welchen Projekten Codex kommentieren oder reagieren kann.

Mehr dazu: GitLab-Merge-Requests mit Codex prüfen.

Die GitLab-App verbinden und testen

  1. Wenn du Zugriffsberechtigung hast, öffne GitLab über das Plugin-Verzeichnis oder Einstellungen > Plugins. Wähle Plugin installieren und anschließend Verbinden.

  2. Falls dein Workspace mehrere GitLab-Apps hat, wähle die App für diesen Host mit GitLab Self-Managed oder GitLab Dedicated.

  3. Autorisiere die GitLab-OAuth-Anwendung, wenn du dazu aufgefordert wirst.

  4. Führe zunächst eine kleine Leseaktion in ChatGPT oder Codex aus, etwa das Auflisten zugänglicher Projekte oder das Abrufen eines bekannten Merge Requests.

  5. Falls Schreibaktionen aktiviert sind, teste sie vor der breiteren Einführung in einem Projekt mit geringem Risiko und in jedem Produkt, in dem du sie nutzen möchtest.

Hostname und OAuth-Verhalten

Die App leitet die GitLab-Endpunkte aus dem Hostnamen ab. Gib nur den Hostnamen ein, etwa gitlab.example.com. Gib weder https:// noch einen API- oder Repository-Pfad, einen Port oder gitlab.com ein. Diese Vorlage ist für GitLab Self-Managed oder GitLab Dedicated vorgesehen. Verwende für GitLab.com (SaaS) die GitLab-App.

Probleme beim Einrichten der App für GitLab Self-Managed beheben

  • Weiterleitungs-URI stimmt nicht überein: Prüfe, ob die Weiterleitungs-URI der GitLab-OAuth-Anwendung exakt mit der in ChatGPT angezeigten Weiterleitungs-URI übereinstimmt.

  • ChatGPT kann den App-Entwurf nicht erstellen oder speichern: Prüfe, ob Hostname, Anwendungs-ID, geheimer Schlüssel und Weiterleitungs-URI angegeben sind.

  • Authentifizierung erfolgreich, aber Projektaufrufe schlagen fehl: Prüfe, ob die autorisierende Person in GitLab auf das Projekt zugreifen kann und die OAuth-Anwendung die Scopes der Vorlage hat.

  • Die API gibt 403 zurück oder meldet unzureichende Berechtigungen: Prüfe, ob das verbundene GitLab-Konto die erforderlichen Projekt- oder Gruppenberechtigungen hat und die OAuth-Anwendung die erforderlichen Scopes der Vorlage umfasst.

  • Kein Zugriff auf Projekte: Prüfe, ob die Person Projektzugriff hat, mit der vorgesehenen GitLab-Instanz verbunden ist und in ChatGPT oder Codex die richtige GitLab-App ausgewählt hat.

War dieser Artikel hilfreich?