GitLab i ChatGPT och Codex är för närvarande i betaversion.
Översikt
Använd appmallen för GitLab Self-Managed för att skapa en arbetsytespecifik utkastapp för en GitLab Self-Managed- eller GitLab Dedicated-instans. Ange GitLabs värdnamn och autentiseringsuppgifterna för OAuth-programmet, granska utkastappen och publicera den sedan för behöriga medlemmar på arbetsytan. Efter publiceringen blir appens aktiverade åtgärder tillgängliga i ChatGPT-konversationer och Codex-sessioner.
En översikt över GitLab-funktioner som stöds, tillgänglighet, behörigheter, dataanvändning och nätverkskrav finns i Ansluta GitLab till ChatGPT och Codex.
Det här konfigurerar du
Du skapar en arbetsytespecifik app från appmallen för GitLab Self-Managed. Appen använder:
Ett GitLab OAuth-program som registrerats på din GitLab Self-Managed- eller GitLab Dedicated-värd.
GitLab OAuth-programmets program-ID och hemlighet för användarauktorisering.
De obligatoriska OAuth-omfången: api, write_repository och openid.
Ditt GitLab-värdnamn, till exempel gitlab.example.com, för att härleda slutpunkterna för webb, API, auktorisering och token.
Innan du börjar
Du behöver:
Administratörs- eller ägaråtkomst till ChatGPT-arbetsytan.
GitLab-behörighet att skapa OAuth-programmet: ägaråtkomst till gruppen för en gruppägd app eller instansadministratörsåtkomst för en app som gäller hela instansen.
Endast GitLab-värdnamnet, utan https://, port eller sökväg. Använd en GitLab Self-Managed- eller GitLab Dedicated-värd, inte gitlab.com.
Ett beslut om vilka GitLab-åtgärder ChatGPT och Codex ska stödja, till exempel sökning i Förvar, arbetsflöden för merge requests och ärenden, filredigering eller mer omfattande Codex-arbetsflöden.
Ha ChatGPT och GitLab öppna på separata flikar. Kopiera exakt den omdirigerings-URI som visas i ChatGPT. Skapa eller ändra den inte.
Värden att förbereda
GitLab-värdnamn: till exempel gitlab.example.com.
Omdirigerings-URI: kopiera den från konfigurationsflödet för ChatGPT-mallen.
GitLab OAuth-program-ID.
GitLab OAuth-hemlighet.
OAuth-omfång: kopiera dem från konfigurationsflödet för ChatGPT-mallen.
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.
Skapa GitLab OAuth-programmet i GitLab
Välj var programmet ska skapas
Öppna din GitLab-värd, till exempel https://gitlab.example.com.
Välj om du vill skapa ett program för hela instansen eller ett gruppägt program. Valet avgör vem som hanterar programmet. Projektåtkomsten styrs fortfarande av den godkännande användarens GitLab-behörigheter och de beviljade OAuth-omfången.
För ett program som gäller hela instansen går du till Admin > Program. För ett gruppägt program går du till gruppens Inställningar > Program.
Lägg till programinformation
Välj Nytt program eller Lägg till nytt program.
Ange ett tydligt appnamn, till exempel GitLab Self-Managed eller GitLab Dedicated.
Klistra in den exakta URI som kopierades från ChatGPT i Omdirigerings-URI.
Låt Konfidentiellt vara aktiverat för det här serverbaserade OAuth-programmet.
Konfigurera åtkomst och spara
För ett program som gäller hela instansen rekommenderar GitLab att du väljer Betrott. Då hoppas Prompten om användarauktorisering över.
Välj omfången api, write_repository och openid.
Granska vem som kan hantera programmet och kontrollera att GitLab-användarna som godkänner har rätt grupp- och projektbehörigheter.
Spara programmet.
Krav på OAuth-omfång
Mallen begär följande OAuth-omfång för aktiverade GitLab-åtgärder i ChatGPT och Codex:
api: krävs för GitLab API-åtgärder som appen tillhandahåller, bland annat åtgärder för merge requests, ärenden och CI/CD.
write_repository: krävs för skrivåtgärder i Förvar via Git.
openid: krävs för OpenID Connect-identitet och medlemsinformation.
Kopiera GitLab OAuth-autentiseringsuppgifterna
Kopiera program-ID och hemlighet i det sparade GitLab-programmet. Behandla hemligheten som en autentiseringsuppgift. Om den röjs ska du förnya den i GitLab och skapa en ny arbetsyteapp.
Slutför konfigurationen i ChatGPT
Gå tillbaka till fliken för konfiguration av ChatGPT-mallen.
Klistra in GitLabs program-ID i OAuth-klient-ID.
Klistra in GitLabs hemlighet i OAuth-klienthemlighet.
Kontrollera att fältet för GitLab-värdnamn endast innehåller värdnamnet, till exempel gitlab.example.com.
Välj Skapa utkast.
Öppna utkastappens information och granska Rollåtkomst och Konfigurera åtgärder.
Publicera och hantera appen för ChatGPT och Codex
När utkastappen skapas blir den inte automatiskt tillgänglig för medlemmarna. När du har granskat utkastet:
Välj Publicera för utkastappen.
Gå till Arbetsyteinställningar > Pluginer och kontrollera att GitLab är tillgängligt för de avsedda rollerna.
Granska Rollåtkomst för de roller som ska använda appen.
Granska de tillgängliga läs- och skrivåtgärderna under Konfigurera åtgärder.
Under Konfigurera godkännanden väljer du när användare måste godkänna en åtgärd innan ChatGPT eller Codex använder appen.
Be en testanvändare med åtkomst att öppna GitLab från Pluginkatalogen eller Inställningar > Pluginer. Kontrollera att användaren kan installera pluginet och ansluta till appen som skapats från Self-Managed-mallen för GitLab.
De här inställningarna för appgodkännande gäller ChatGPT-konversationer och Codex-trådar.
Konfigurera GitLab-aktivitet för kodgranskning med Codex
När appen har publicerats konfigurerar du GitLab-aktivitet i Codex om du tänker använda Codex för kodgranskning. Den här aktivitetskonfigurationen ställer in de obligatoriska webhook-händelserna.
Konfigurera ett tjänstekonto för arbetsytan. Låt Codex skapa kontot eller ange ett personligt åtkomsttoken för ett befintligt tjänstekonto.
Aktivera GitLab-aktivitet för projektet eller någon av dess överordnade grupper.
Om Codex behöver köra kodningsuppgifter eller använda projektspecifik konfiguration skapar du en projektmiljö.
GitLab-appen använder användar-OAuth för läsning och aktiverade åtgärder i ChatGPT och Codex. För skrivåtgärder från Codex-granskningar i GitLab Self-Managed eller GitLab Dedicated avgör arbetsytans tjänst kontotoken vilken identitet och vilka projekt Codex kan kommentera eller reagera i.
Läs mer: Granska GitLab-merge requests med Codex.
Anslut och testa GitLab-appen
Som användare med åtkomst öppnar du GitLab från Pluginkatalogen eller Inställningar > Pluginer. Välj Installera plugin och sedan Anslut.
Om arbetsytan har fler än en GitLab-app väljer du appen för den här GitLab Self-Managed- eller GitLab Dedicated-värden.
Auktorisera GitLab OAuth-programmet när du uppmanas att göra det.
Kör först en liten läsåtgärd i ChatGPT eller Codex, till exempel att lista tillgängliga projekt eller hämta en känd merge request.
Om skrivåtgärder har aktiverats testar du dem i ett projekt med låg risk och i varje produkt där de ska användas innan en bredare lansering.
Värdnamn och OAuth-beteende
Appen använder värdnamnet för att härleda GitLab-slutpunkter. Ange endast värden, till exempel gitlab.example.com. Ta inte med https://, en API- eller förvarssökväg, en port eller gitlab.com. Den här mallen är avsedd för GitLab Self-Managed eller GitLab Dedicated. Använd GitLab-appen för GitLab.com (SaaS).
Felsöka konfigurationen av GitLab Self-Managed-appen
Omdirigerings-URI:n matchar inte: Kontrollera att omdirigerings-URI:n i GitLabs OAuth-program exakt matchar den som visas i ChatGPT.
ChatGPT kan inte skapa eller spara utkastappen: Kontrollera att värdnamn, program-ID, hemlighet och omdirigerings-URI har angetts.
Autentiseringen lyckas, men projektanropen misslyckas: Kontrollera att GitLab-användaren som godkänner har åtkomst till projektet och att OAuth-programmet har mallens omfång.
API:t returnerar 403 eller otillräckliga behörigheter: Kontrollera att det anslutna GitLab-kontot har nödvändiga projekt- eller gruppbehörigheter och att OAuth-programmet omfattar mallens nödvändiga omfång.
Inga projekt är tillgängliga: Kontrollera att användaren har projektåtkomst, är ansluten till rätt GitLab-instans och har valt rätt GitLab-app i ChatGPT eller Codex.
