ChatGPT 및 Codex의 GitLab 기능은 현재 베타 버전입니다.
개요
GitLab Self-Managed 앱 템플릿을 사용해 GitLab Self-Managed 또는 GitLab Dedicated 인스턴스에 연결할 워크스페이스 전용 초안 앱을 만드세요. GitLab 호스트 이름과 OAuth 애플리케이션 자격 증명을 입력하고 초안 앱을 검토한 다음, 사용 권한이 있는 워크스페이스 멤버를 대상으로 게시하세요. 게시 후에는 ChatGPT 대화와 Codex 세션에서 앱의 활성화된 작업을 사용할 수 있습니다.
지원되는 GitLab 기능, 사용 가능 여부, 권한, 데이터 사용 및 네트워크 요구 사항에 대한 개요는 ChatGPT 및 Codex에 GitLab 연결하기를 참조하세요.
설정할 내용
GitLab Self-Managed 앱 템플릿으로 워크스페이스 전용 앱을 만듭니다. 앱은 다음을 사용합니다.
GitLab Self-Managed 또는 GitLab Dedicated 호스트에 등록된 GitLab OAuth 애플리케이션.
사용자 권한 부여에 사용할 GitLab OAuth 애플리케이션 ID 및 시크릿.
필수 OAuth 범위: api, write_repository, openid.
웹, API, 권한 부여 및 토큰 엔드포인트를 구성하는 데 사용할 GitLab 호스트 이름(예: gitlab.example.com).
시작하기 전에
다음이 필요합니다.
ChatGPT 워크스페이스 관리자 또는 소유자 권한.
OAuth 애플리케이션을 만들 수 있는 GitLab 권한. 그룹 소유 앱에는 그룹 소유자 권한이, 인스턴스 전체에서 사용하는 앱에는 인스턴스 관리자 권한이 필요합니다.
https://, 포트, 경로를 제외한 GitLab 호스트 이름. gitlab.com이 아닌 GitLab Self-Managed 또는 GitLab Dedicated 호스트를 사용하세요.
ChatGPT와 Codex에서 지원할 GitLab 작업에 대한 결정. 예를 들어 리포지터리 검색, 병합 요청 워크플로, 이슈 워크플로, 파일 편집 또는 더 광범위한 Codex 워크플로 등이 있습니다.
ChatGPT와 GitLab을 별도의 탭에 열어 두세요. ChatGPT에 표시된 리디렉션 URI를 그대로 복사하세요. 직접 만들거나 수정하지 마세요.
관리자 콘솔에서 앱 페이지를 열려면 원하는 ChatGPT 워크스페이스를 선택하고 플러그인을 연 다음 레거시 앱 관리를 선택하세요.
준비할 값
GitLab 호스트 이름: 예를 들어 gitlab.example.com.
리디렉션 URI: ChatGPT 템플릿 설정 과정에서 복사하세요.
GitLab OAuth 애플리케이션 ID.
GitLab OAuth 시크릿.
OAuth 범위: ChatGPT 템플릿 설정 과정에서 복사하세요.
Start the template setup in ChatGPT
In ChatGPT, switch to the workspace where the app should be available.
Go to Workspace settings > Apps.
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에서 GitLab OAuth 애플리케이션 만들기
애플리케이션을 만들 위치 선택하기
https://gitlab.example.com과 같은 GitLab 호스트를 여세요.
인스턴스 전체에서 사용하는 애플리케이션을 만들지, 그룹 소유 애플리케이션을 만들지 선택하세요. 이 선택에 따라 애플리케이션을 관리할 주체가 결정됩니다. 프로젝트 액세스는 여전히 권한을 부여하는 사용자의 GitLab 권한과 부여된 OAuth 범위에 따릅니다.
인스턴스 전체에서 사용하는 애플리케이션의 경우 관리자 > 애플리케이션으로 이동하세요. 그룹 소유 애플리케이션의 경우 해당 그룹의 설정 > 애플리케이션으로 이동하세요.
애플리케이션 세부 정보 추가하기
새 애플리케이션 또는 새 애플리케이션 추가를 선택하세요.
GitLab Self-Managed 또는 GitLab Dedicated처럼 알아보기 쉬운 앱 이름을 입력하세요.
리디렉션 URI에 ChatGPT에서 복사한 URI를 그대로 붙여넣으세요.
이 서버 측 OAuth 애플리케이션에서는 기밀 옵션을 활성화된 상태로 유지하세요.
액세스 구성 및 저장하기
인스턴스 전체에서 사용하는 애플리케이션의 경우 GitLab은 신뢰할 수 있음을 선택할 것을 권장합니다. 이렇게 하면 사용자에게 권한 부여를 요청하는 단계가 생략됩니다.
api, write_repository, openid 범위를 선택하세요.
애플리케이션을 관리할 수 있는 사용자를 검토하고, 권한을 부여하는 GitLab 사용자에게 적절한 그룹 및 프로젝트 권한이 있는지 확인하세요.
애플리케이션을 저장하세요.
OAuth 범위 요구 사항
템플릿은 ChatGPT 및 Codex에서 활성화된 GitLab 작업을 위해 다음 OAuth 범위를 요청합니다.
api: 병합 요청, 이슈 및 CI/CD 작업 등 앱이 제공하는 GitLab API 작업에 필요합니다.
write_repository: Git을 통한 리포지터리 쓰기 작업에 필요합니다.
openid: OpenID Connect ID 및 멤버십 정보에 필요합니다.
GitLab OAuth 자격 증명 복사하기
저장한 GitLab 애플리케이션에서 애플리케이션 ID와 시크릿을 복사하세요. 시크릿은 자격 증명으로 취급해 안전하게 관리하세요. 시크릿이 노출되면 GitLab에서 갱신하고 새 워크스페이스 앱을 만드세요.
ChatGPT에서 설정 완료하기
ChatGPT 템플릿 설정 탭으로 돌아가세요.
GitLab 애플리케이션 ID를 OAuth 클라이언트 ID에 붙여넣으세요.
GitLab 시크릿을 OAuth 클라이언트 시크릿에 붙여넣으세요.
GitLab 호스트 이름에 gitlab.example.com과 같은 호스트 이름만 입력되어 있는지 확인하세요.
초안 만들기를 선택하세요.
초안 앱의 세부 정보를 열고 역할별 액세스와 작업 구성을 검토하세요.
ChatGPT 및 Codex용 앱 게시 및 관리하기
초안 앱을 만드는 것만으로는 멤버가 앱을 사용할 수 없습니다. 초안을 검토한 후 다음 단계를 진행하세요.
초안 앱의 게시를 선택하세요.
관리자 콘솔로 이동해 원하는 ChatGPT 워크스페이스를 선택하고 플러그인을 연 다음, 대상 역할에서 GitLab을 사용할 수 있는지 확인하세요.
앱을 사용할 역할에 대해 역할별 액세스를 검토하세요.
작업 구성에서 사용 가능한 읽기 및 쓰기 작업을 검토하세요.
승인 구성에서 ChatGPT나 Codex가 앱을 사용하기 전에 사용자에게 작업 승인을 요청할 시점을 선택하세요.
액세스 권한이 있는 테스트 사용자에게 플러그인 디렉터리 또는 설정 > 플러그인에서 GitLab을 열도록 요청하세요. 사용자가 플러그인을 설치하고 GitLab Self-Managed 템플릿으로 만든 앱에 연결할 수 있는지 확인하세요.
이 앱 승인 설정은 ChatGPT 대화와 Codex 스레드에 적용됩니다.
Codex 코드 리뷰를 위한 GitLab 활동 설정하기
Codex 코드 리뷰를 사용할 계획이라면 앱을 게시한 후 Codex에서 GitLab 활동을 구성하세요. 이 활동 설정을 통해 필요한 웹훅 이벤트가 구성됩니다.
Codex 커넥터 설정을 여세요.
워크스페이스 서비스 계정을 구성하세요. Codex가 계정을 만들도록 하거나 기존 서비스 계정의 개인 액세스 토큰을 제공하세요.
프로젝트 또는 상위 그룹 중 하나에서 GitLab 활동을 활성화하세요.
Codex가 코딩 작업을 실행하거나 프로젝트별 설정을 사용해야 한다면 프로젝트 환경을 만드세요.
GitLab 앱은 ChatGPT 및 Codex에서 읽기 작업과 활성화된 작업을 수행할 때 사용자 OAuth를 사용합니다. GitLab Self-Managed 또는 GitLab Dedicated에서 Codex가 리뷰 쓰기 작업을 수행할 때는 워크스페이스에서 관리하는 서비스 계정 토큰에 따라 댓글이나 반응을 남기는 데 사용할 ID와 대상 프로젝트가 결정됩니다.
자세히 알아보기: Codex로 GitLab 병합 요청 리뷰하기.
GitLab 앱 연결 및 테스트하기
액세스 권한이 있는 사용자 계정으로 플러그인 디렉터리 또는 설정 > 플러그인에서 GitLab을 여세요. 플러그인 설치를 선택한 다음 연결을 선택하세요.
워크스페이스에 GitLab 앱이 여러 개 있다면 이 GitLab Self-Managed 또는 GitLab Dedicated 호스트에 해당하는 앱을 선택하세요.
메시지가 표시되면 GitLab OAuth 애플리케이션에 권한을 부여하세요.
먼저 ChatGPT 또는 Codex에서 액세스 가능한 프로젝트 목록 조회나 알고 있는 병합 요청 가져오기와 같은 간단한 읽기 작업을 실행하세요.
쓰기 작업이 활성화되어 있다면 사용 범위를 확대하기 전에 위험이 적은 프로젝트에서 테스트하세요. 사용할 예정인 각 제품에서도 테스트를 진행하세요.
호스트 이름과 OAuth 동작
앱은 호스트 이름을 기반으로 GitLab 엔드포인트를 구성합니다. gitlab.example.com과 같이 호스트만 입력하세요. https://, API 또는 리포지터리 경로, 포트, gitlab.com은 포함하지 마세요. 이 템플릿은 GitLab Self-Managed 또는 GitLab Dedicated용입니다. GitLab.com(SaaS)의 경우 GitLab 앱을 사용하세요.
GitLab Self-Managed 앱 설정 문제 해결
리디렉션 URI 불일치: GitLab OAuth 애플리케이션의 리디렉션 URI가 ChatGPT에 표시된 리디렉션 URI와 정확히 일치하는지 확인하세요.
ChatGPT에서 초안 앱을 만들거나 저장할 수 없음: 호스트 이름, 애플리케이션 ID, 시크릿, 리디렉션 URI가 모두 입력되어 있는지 확인하세요.
인증은 성공했지만 프로젝트 호출 실패: 권한을 부여하는 GitLab 사용자가 프로젝트에 액세스할 수 있는지, OAuth 애플리케이션에 템플릿에서 요구하는 범위가 설정되어 있는지 확인하세요.
API가 403 또는 권한 부족 오류 반환: 연결된 GitLab 계정에 필요한 프로젝트 또는 그룹 권한이 있는지, OAuth 애플리케이션에 템플릿에서 요구하는 범위가 포함되어 있는지 확인하세요.
액세스할 수 있는 프로젝트가 없음: 사용자에게 프로젝트 액세스 권한이 있는지, 원하는 GitLab 인스턴스에 연결되어 있는지, ChatGPT 또는 Codex에서 올바른 GitLab 앱을 선택했는지 확인하세요.
