Integracja GitLab z ChatGPT i Codex jest obecnie w wersji beta.
Omówienie
Użyj szablonu aplikacji GitLab Self-Managed, aby utworzyć wersję roboczą aplikacji przeznaczoną dla danej przestrzeni roboczej i instancji GitLab Self-Managed lub GitLab Dedicated. Podaj nazwę hosta GitLab oraz dane uwierzytelniające aplikacji OAuth, sprawdź wersję roboczą aplikacji, a następnie opublikuj ją dla uprawnionych członków przestrzeni roboczej. Po opublikowaniu włączone działania aplikacji są dostępne w rozmowach ChatGPT i sesjach Codex.
Omówienie obsługiwanych funkcji GitLab, dostępności, uprawnień, wykorzystania danych i wymagań sieciowych znajdziesz w artykule: Łączenie GitLab z ChatGPT i Codex.
Co konfigurujesz
Tworzysz aplikację przeznaczoną dla danej przestrzeni roboczej na podstawie szablonu aplikacji GitLab Self-Managed. Aplikacja korzysta z następujących elementów:
Aplikacja GitLab OAuth zarejestrowana na hoście GitLab Self-Managed lub GitLab Dedicated.
Identyfikator aplikacji i klucz tajny GitLab OAuth do autoryzacji użytkowników.
Wymagane zakresy OAuth: api, write_repository i openid.
Nazwa hosta GitLab, na przykład gitlab.example.com, służąca do ustalania punktów końcowych sieci, interfejsu API, autoryzacji i tokenów.
Zanim zaczniesz
Potrzebujesz:
Dostępu administratora lub właściciela przestrzeni roboczej ChatGPT.
Uprawnienia GitLab do utworzenia aplikacji OAuth: dostępu właściciela grupy w przypadku aplikacji należącej do grupy lub dostępu administratora instancji w przypadku aplikacji obejmującej całą instancję.
Wyłącznie nazwa hosta GitLab, bez https://, portu ani ścieżki. Użyj hosta GitLab Self-Managed lub GitLab Dedicated, a nie gitlab.com.
Decyzja, które działania GitLab mają być obsługiwane przez ChatGPT i Codex, na przykład wyszukiwanie w repozytorium, obsługa żądań scalenia i zgłoszeń, edytowanie plików lub szersze przepływy pracy Codex.
Pozostaw ChatGPT i GitLab otwarte na osobnych kartach. Skopiuj dokładny identyfikator URI przekierowania wyświetlany w ChatGPT. Nie twórz go ani nie modyfikuj.
Wartości do przygotowania
Nazwa hosta GitLab, na przykład gitlab.example.com.
Identyfikator URI przekierowania: skopiuj go z procesu konfiguracji szablonu w ChatGPT.
Identyfikator aplikacji GitLab OAuth.
Klucz tajny GitLab OAuth.
Zakresy OAuth: skopiuj je z procesu konfiguracji szablonu w ChatGPT.
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.
Tworzenie aplikacji GitLab OAuth w GitLab
Wybór miejsca utworzenia aplikacji
Otwórz swój host GitLab, na przykład https://gitlab.example.com.
Wybierz, czy chcesz utworzyć aplikację obejmującą całą instancję, czy należącą do grupy. Ten wybór określa, kto zarządza aplikacją. Dostęp do projektu nadal zależy od uprawnień autoryzującego użytkownika GitLab i przyznanych zakresów OAuth.
W przypadku aplikacji obejmującej całą instancję przejdź do sekcji Administrator > Aplikacje. W przypadku aplikacji należącej do grupy przejdź do sekcji Ustawienia > Aplikacje tej grupy.
Dodawanie szczegółów aplikacji
Wybierz Nowa aplikacja lub Dodaj nową aplikację.
Wprowadź zrozumiałą nazwę aplikacji, na przykład GitLab Self-Managed lub GitLab Dedicated.
W polu Identyfikator URI przekierowania wklej dokładny identyfikator URI skopiowany z ChatGPT.
Pozostaw opcję Poufna włączoną dla tej aplikacji OAuth działającej po stronie serwera.
Konfigurowanie dostępu i zapisywanie
W przypadku aplikacji obejmującej całą instancję GitLab zaleca wybranie opcji Zaufana. Pozwala to pominąć polecenie autoryzacji użytkownika.
Wybierz zakresy api, write_repository i openid.
Sprawdź, kto może zarządzać aplikacją, i upewnij się, że autoryzujący użytkownicy GitLab mają odpowiednie uprawnienia do grup i projektów.
Zapisz aplikację.
Wymagania dotyczące zakresów OAuth
Szablon wymaga następujących zakresów OAuth na potrzeby włączonych działań GitLab w ChatGPT i Codex:
api: wymagany do operacji interfejsu API GitLab udostępnianych przez aplikację, w tym działań związanych z żądaniami scalenia, zgłoszeniami i CI/CD.
write_repository: wymagany do operacji zapisu w repozytorium za pośrednictwem Git.
openid: wymagany do uzyskiwania informacji o tożsamości i członkostwie za pomocą OpenID Connect.
Kopiowanie danych uwierzytelniających GitLab OAuth
W zapisanej aplikacji GitLab skopiuj identyfikator aplikacji i klucz tajny. Traktuj klucz tajny jako dane uwierzytelniające. Jeśli zostanie ujawniony, odnów go w GitLab i utwórz nową aplikację przestrzeni roboczej.
Kończenie konfiguracji w ChatGPT
Wróć do karty konfiguracji szablonu w ChatGPT.
Wklej identyfikator aplikacji GitLab w polu Identyfikator klienta OAuth.
Wklej klucz tajny GitLab w polu Klucz tajny klienta OAuth.
Upewnij się, że pole nazwy hosta GitLab zawiera wyłącznie nazwę hosta, na przykład gitlab.example.com.
Wybierz Utwórz wersję roboczą.
Otwórz szczegóły wersji roboczej aplikacji i sprawdź opcje Dostęp według ról oraz Konfiguruj działania.
Publikowanie aplikacji dla ChatGPT i Codex oraz zarządzanie nią
Utworzenie wersji roboczej aplikacji nie udostępnia jej automatycznie członkom. Po sprawdzeniu wersji roboczej:
Wybierz Opublikuj dla wersji roboczej aplikacji.
Przejdź do sekcji Ustawienia przestrzeni roboczej > Wtyczki i upewnij się, że aplikacja GitLab jest dostępna dla odpowiednich ról.
Sprawdź ustawienie Dostęp według ról dla ról, które mają korzystać z aplikacji.
W sekcji Konfiguruj działania sprawdź dostępne działania odczytu i zapisu.
W sekcji Konfiguruj zatwierdzenia określ, kiedy użytkownicy muszą zatwierdzić działanie, zanim ChatGPT lub Codex użyje aplikacji.
Poproś użytkownika testowego z dostępem, aby otworzył aplikację GitLab z katalogu wtyczek lub sekcji Ustawienia > Wtyczki. Upewnij się, że użytkownik może zainstalować wtyczkę i połączyć się z aplikacją utworzoną na podstawie szablonu Self-Managed aplikacji GitLab.
Te ustawienia zatwierdzania działań aplikacji mają zastosowanie do rozmów ChatGPT i wątków Codex.
Konfigurowanie aktywności GitLab na potrzeby przeglądu kodu w Codex
Po opublikowaniu aplikacji skonfiguruj aktywność GitLab w Codex, jeśli planujesz korzystać z funkcji przeglądu kodu Codex. Ta konfiguracja aktywności ustawia wymagane zdarzenia webhook.
Otwórz ustawienia łączników Codex.
Skonfiguruj konto usługi przestrzeni roboczej. Pozwól Codex utworzyć konto lub podaj osobisty token dostępu do istniejącego konta usługi.
Włącz aktywność GitLab dla projektu lub jednej z jego grup nadrzędnych.
Jeśli Codex ma wykonywać zadania programistyczne lub korzystać z konfiguracji właściwej dla projektu, utwórz środowisko projektu.
Aplikacja GitLab używa protokołu OAuth użytkownika do odczytu i wykonywania włączonych działań w ChatGPT i Codex. W przypadku zapisu wyników przeglądu Codex w GitLab Self-Managed lub GitLab Dedicated token konta usługi zarządzanego przez przestrzeń roboczą określa tożsamość i projekty, w których Codex może komentować lub dodawać reakcje.
Więcej informacji: Przeglądanie żądań scalenia GitLab za pomocą Codex.
Łączenie i testowanie aplikacji GitLab
Jako użytkownik z dostępem otwórz aplikację GitLab z katalogu wtyczek lub sekcji Ustawienia > Wtyczki. Wybierz Zainstaluj wtyczkę, a następnie Połącz.
Jeśli w przestrzeni roboczej jest więcej niż jedna aplikacja GitLab, wybierz aplikację przeznaczoną dla tego hosta GitLab Self-Managed lub GitLab Dedicated.
Po wyświetleniu monitu autoryzuj aplikację GitLab OAuth.
Najpierw wykonaj niewielkie działanie odczytu w ChatGPT lub Codex, na przykład wyświetl listę dostępnych projektów albo pobierz znane żądanie scalenia.
Jeśli działania zapisu są włączone, przed szerszym wdrożeniem przetestuj je w projekcie o niskim poziomie ryzyka i w każdym produkcie, w którym zamierzasz ich używać.
Nazwa hosta i działanie OAuth
Aplikacja używa nazwy hosta do ustalania punktów końcowych GitLab. Wprowadź tylko nazwę hosta, na przykład gitlab.example.com. Nie podawaj https://, ścieżki interfejsu API ani repozytorium, portu ani gitlab.com. Ten szablon jest przeznaczony dla GitLab Self-Managed lub GitLab Dedicated. W przypadku GitLab.com (SaaS) użyj aplikacji GitLab.
Rozwiązywanie problemów z konfiguracją aplikacji GitLab Self-Managed
Niezgodność identyfikatora URI przekierowania: upewnij się, że identyfikator URI przekierowania aplikacji GitLab OAuth jest dokładnie taki sam jak identyfikator URI przekierowania wyświetlany w ChatGPT.
ChatGPT nie może utworzyć ani zapisać wersji roboczej aplikacji: upewnij się, że podano nazwę hosta, identyfikator aplikacji, klucz tajny i identyfikator URI przekierowania.
Uwierzytelnianie się udaje, ale wywołania projektu kończą się niepowodzeniem: upewnij się, że autoryzujący użytkownik GitLab ma dostęp do projektu, a aplikacja OAuth ma zakresy wymagane przez szablon.
Interfejs API zwraca błąd 403 lub informację o niewystarczających uprawnieniach: upewnij się, że połączone konto GitLab ma wymagane uprawnienia do projektu lub grupy, a aplikacja OAuth obejmuje zakresy wymagane przez szablon.
Brak dostępu do projektów: upewnij się, że użytkownik ma dostęp do projektu, jest połączony z właściwą instancją GitLab i wybrał prawidłową aplikację GitLab w ChatGPT lub Codex.
