ChatGPT 및 Codex의 GitLab 기능은 현재 베타 버전입니다.
개요
GitLab Self-Managed 앱 템플릿을 사용하여 GitLab Self-Managed 또는 GitLab Dedicated 인스턴스용 워크스페이스 전용 초안 앱을 만드세요. GitLab 호스트 이름과 OAuth 애플리케이션 자격 증명을 입력하고 초안 앱을 검토한 다음, 이용 자격이 있는 워크스페이스 구성원에게 게시하세요. 게시 후에는 앱에서 활성화된 작업을 ChatGPT 대화와 Codex 세션에서 사용할 수 있습니다.
지원되는 GitLab 동작, 가용성, 권한, 데이터 사용 및 네트워크 요구 사항에 대한 개요는 GitLab을 ChatGPT 및 Codex에 연결하기를 참조하세요.
설정할 항목
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 호스트를 사용하세요.
리포지터리 검색, 병합 요청 워크플로, 이슈 워크플로, 파일 편집, 더 광범위한 Codex 워크플로 등 ChatGPT와 Codex에서 지원할 GitLab 작업을 결정하세요.
ChatGPT와 GitLab을 각각 별도의 탭에서 열어 두세요. ChatGPT에 표시된 정확한 리디렉션 URI를 복사하세요. 새로 만들거나 수정하지 마세요.
준비할 값
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 > 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에서 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용 앱 게시 및 관리
초안 앱을 만들어도 구성원이 자동으로 사용할 수 있게 되지는 않습니다. 초안을 검토한 후:
초안 앱에서 게시를 선택하세요.
워크스페이스 설정 > 플러그인으로 이동하여 원하는 역할에서 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가 검토 내용을 작성할 때는 워크스페이스에서 관리하는 서비스 계정 토큰에 따라 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 앱을 선택했는지 확인하세요.
