개요
조직에 GitHub Enterprise 앱 템플릿을 설정하려는 ChatGPT 워크스페이스 관리자를 위한 가이드입니다. 템플릿은 구성원이 사용하는 최종 앱이 아닙니다. 필수 GitHub Enterprise 구성 정보를 입력하면 워크스페이스 전용 앱 초안을 생성하는 설정 절차입니다.
GitHub Enterprise의 경우, 이 설정을 통해 ChatGPT를 조직의 GitHub Enterprise 호스트에 연결합니다. GitHub 앱을 만들고, ChatGPT 콜백 URL을 등록하고, 자격 증명을 생성한 다음, 해당 값을 ChatGPT 템플릿 설정 과정에서 붙여넣습니다. ChatGPT에서 앱 초안이 생성되면 게시한 후 다른 워크스페이스 앱처럼 관리할 수 있습니다.
워크스페이스 메뉴 이용 방법과 앱 액세스에 대해서는 플러그인 및 앱의 관리자 제어, 보안, 규정 준수를 참조하세요.
설정 대상
ChatGPT에서 워크스페이스 전용 GitHub Enterprise 앱을 생성합니다. 이 앱은 다음을 사용합니다.
GitHub Enterprise 호스트에 등록된 GitHub 앱.
사용자 OAuth 권한 부여를 위한 GitHub 앱 클라이언트 ID 및 클라이언트 시크릿.
ChatGPT에서 리포지터리 작업용 설치 토큰을 발급하는 데 사용하는 GitHub 앱 비공개 키.
GitHub Enterprise가 설치 및 리포지터리 이벤트를 ChatGPT로 전송하는 데 사용하는 웹후크 시크릿 및 웹후크 URL.
github.example.com과 같은 GitHub Enterprise 호스트 이름.
독립형 GitHub OAuth 앱이 아닌 GitHub 앱을 생성하세요. ChatGPT 템플릿 설정에는 GitHub 앱 자격 증명, 비공개 키, 웹후크 설정이 필요합니다.
시작하기 전에
다음이 필요합니다.
ChatGPT 워크스페이스 관리자 또는 소유자 권한.
GitHub 앱을 생성하고 설치할 수 있는 GitHub Enterprise 관리자 또는 조직 소유자 권한.
https://나 경로를 제외한 GitHub Enterprise 호스트 이름.ChatGPT에서 지원할 리포지터리 작업에 대한 결정. 예를 들어 읽기 전용 리포지터리 검색, pull request 워크플로, 이슈 워크플로, 파일 수정, GitHub Actions 또는 더 폭넓은 Codex 워크플로 등이 있습니다.
GitHub 앱 비공개 키와 클라이언트 시크릿을 안전하게 관리할 장소.
ChatGPT와 GitHub Enterprise를 각각 별도의 탭에 열어 두세요. 콜백 URL을 임의로 만들지 마세요. ChatGPT에 표시된 콜백 URL을 그대로 복사하세요.
준비할 값
GitHub Enterprise 호스트 이름: 예를 들어
github.example.com.콜백 URL: ChatGPT 템플릿 설정 과정에서 복사합니다.
GitHub 앱 클라이언트 ID.
GitHub 앱 클라이언트 시크릿.
GitHub 앱 비공개 키 PEM.
ChatGPT에서 생성된 웹후크 시크릿.
ChatGPT에서 앱 초안 생성 후 만들어지는 웹후크 URL.
ChatGPT에서 템플릿 설정 시작하기
ChatGPT에서 앱을 사용할 워크스페이스로 전환합니다.
워크스페이스 설정 > 앱을 엽니다. 관리자 콘솔에서 해당 ChatGPT 워크스페이스를 선택한 다음 플러그인을 열어도 됩니다. 레거시 앱 관리를 선택해 기존 앱 페이지를 엽니다.
디렉터리를 선택합니다.
GitHub Enterprise를 검색합니다.
GitHub Enterprise 앱 템플릿을 선택하고 설정을 시작합니다.
GitHub Enterprise 또는 GitHub Enterprise - 엔지니어링과 같이 알아보기 쉬운 앱 이름과 설명을 입력합니다.
github.example.com과 같은 GitHub Enterprise 호스트 이름을 입력합니다.ChatGPT에 표시된 콜백 URL을 복사합니다. 이 탭은 열어 둡니다.
설정 중 생성된 웹후크 시크릿이 표시되면 복사합니다.
콜백 URL 예시: https://chatgpt.com/connector/oauth/<callback_id>
콜백 ID를 삭제하거나, 끝에 슬래시를 추가하거나, 일반 ChatGPT URL로 바꾸지 마세요.
GitHub Enterprise에서 GitHub 앱 만들기
https://github.example.com과 같은 GitHub Enterprise 호스트에 접속하세요.앱을 소유할 조직이나 계정으로 이동하세요.
설정 > 개발자 설정 > GitHub 앱을 여세요.
새 GitHub 앱을 선택하세요.
ChatGPT GitHub Enterprise처럼 알아보기 쉬운 앱 이름을 입력하세요.
홈페이지 URL을 입력하세요. 별도의 내부 페이지가 없다면 GitHub Enterprise 조직 URL을 사용하세요.
콜백 URL 필드에 ChatGPT에서 복사한 콜백 URL을 그대로 붙여 넣으세요.
보안팀에서 변경해야 할 구체적인 사유를 제시하지 않는 한 사용자 인증 토큰 만료 옵션을 활성화된 상태로 유지하세요.
사용자가 설치 또는 연결 과정에서 앱을 승인할 수 있도록 설치 중 사용자 승인 요청 옵션을 활성화하세요.
‘이 GitHub 앱을 어디에 설치할 수 있나요?’ 항목에서 배포 계획에 맞는 옵션 중 범위가 가장 좁은 것을 선택하세요.
GitHub 앱을 만드세요.
권한 및 이벤트 구성하기
활성화하려는 ChatGPT 작업에 필요한 최소한의 권한을 선택합니다.
읽기 전용 리포지터리 탐색과 질의응답에는 다음과 같은 읽기 권한부터 설정합니다.
메타데이터: 읽기 전용. GitHub 앱에는 메타데이터 권한이 필수입니다.
콘텐츠: 파일 및 리포지터리 콘텐츠 액세스를 위한 읽기 전용 권한.
이슈: 이슈 검색 또는 조회가 필요한 경우 읽기 전용.
Pull requests: pull request 검색 또는 검토에 필요한 맥락을 확인해야 하는 경우 읽기 전용.
작업: 워크플로 실행 상태, 작업, 로그 또는 아티팩트가 필요한 경우 읽기 전용.
쓰기 워크플로의 경우 콘텐츠, Pull requests, 이슈, 작업, 워크플로 등 필요한 항목에만 쓰기 권한을 추가합니다. 원하는 ChatGPT 작업을 수행할 수 있는 최소한의 권한만 부여하세요.
웹후크 이벤트는 지원하는 워크플로에 맞게 설정해야 합니다. 일반적인 이벤트로는 설치, 설치 리포지터리, 푸시, Pull request, 이슈, 이슈 댓글, 워크플로 실행, 워크플로 작업이 있습니다.
GitHub 앱 자격 증명 생성 및 복사하기
GitHub 앱 설정에서 클라이언트 ID를 복사합니다.
클라이언트 시크릿을 생성하고 즉시 복사합니다.
비공개 키 항목에서 비공개 키를 생성합니다.
.pem 파일을 다운로드하고 안전하게 보관합니다.
로컬에서 .pem 파일을 열고 시작 줄과 끝 줄을 포함한 PEM 텍스트 전체를 복사합니다.
비공개 키는 민감한 정보입니다. 자격 증명과 동일하게 취급하세요. 키가 노출되면 새 비공개 키를 생성하고 ChatGPT 앱 설정을 업데이트한 다음, GitHub Enterprise에서 유출된 키를 삭제하세요.
ChatGPT에서 설정 완료하기
ChatGPT 템플릿 설정 탭으로 돌아갑니다.
GitHub 앱의 클라이언트 ID를 OAuth 클라이언트 ID에 붙여넣습니다.
GitHub 앱의 클라이언트 시크릿을 OAuth 클라이언트 시크릿에 붙여넣습니다.
조직에서 템플릿 기본값을 변경해야 할 명확한 이유가 없다면 범위는 그대로 둡니다.
GitHub Enterprise 호스트 이름에
github.example.com과 같이 호스트 이름만 입력되어 있는지 확인합니다.GitHub 앱 비공개 키 항목에 GitHub 앱의 비공개 키 PEM을 붙여넣거나 업로드합니다.
생성된 웹후크 시크릿이 입력되어 있는지 확인합니다.
앱 초안을 생성합니다.
ChatGPT에서 생성된 앱 초안의 세부 정보를 열고, 생성된 웹후크 URL을 복사합니다.
웹후크 URL은 다음과 같은 형식이어야 합니다: https://connectors.api.openai.org/connectors/<connector_id>/webhook
GitHub Enterprise에서 웹후크 설정 완료하기
GitHub Enterprise의 GitHub 앱 설정으로 돌아갑니다.
GitHub 앱의 일반 설정을 엽니다.
웹후크 활성화 옵션이 꺼져 있다면 켭니다.
웹후크 URL 항목에 ChatGPT 웹후크 URL을 붙여넣습니다.
웹후크 시크릿 항목에 ChatGPT 웹후크 시크릿을 붙여넣습니다.
SSL 검증을 활성화된 상태로 유지합니다.
구독한 웹후크 이벤트가 활성화한 권한 및 작업에 맞는지 확인합니다.
변경 사항을 저장합니다.
ChatGPT에서 앱 게시 및 관리하기
앱 초안을 만든다고 해서 멤버가 바로 앱을 사용할 수 있는 것은 아닙니다. 초안을 검토한 후 다음 단계를 진행하세요.
앱 초안을 게시하세요.
워크스페이스 설정에서 앱 페이지를 열고 활성화됨을 선택한 다음 앱이 표시되는지 확인하세요. 관리자 콘솔 > 플러그인에서 레거시 앱 관리를 선택해 앱 페이지를 열 수도 있습니다.
Enterprise와 Edu에서는 사용자 액세스에서 앱을 사용할 수 있는 역할을 선택하세요. Business에서는 워크스페이스 전체의 앱 사용 가능 여부를 관리하세요.
읽기 및 쓰기 작업에 대한 작업 제어 설정을 검토하세요.
앱 권한을 검토해 ChatGPT가 앱을 사용하기 전에 어떤 경우에 멤버에게 확인을 요청할지 선택하세요.
사용 권한이 있는 테스트 사용자에게 ChatGPT의 앱을 열어 앱이 표시되는지 확인해 달라고 요청하세요.
이 앱 권한은 ChatGPT 대화에 적용됩니다. 워크스페이스 에이전트는 제작자가 지정한 에이전트별 제어 설정에 따라 사용 가능한 앱 작업과 최종 사용자에게 승인을 요청할 시점을 결정합니다. 에이전트의 동작에 관해서는 Enterprise 및 Business용 ChatGPT 워크스페이스 에이전트를 참조하세요.
GitHub 앱 설치 및 테스트하기
GitHub Enterprise에서 조직 또는 계정에 GitHub 앱을 설치합니다.
워크스페이스 정책에 따라 모든 리포지터리 또는 일부 리포지터리를 선택합니다.
액세스가 허용된 사용자로 ChatGPT에서 연결 절차를 시작합니다.
요청 메시지가 표시되면 GitHub 앱에 권한을 부여합니다.
먼저 액세스 가능한 리포지터리 목록 조회나 이미 알고 있는 pull request 가져오기와 같은 간단한 읽기 작업을 실행합니다.
쓰기 작업을 활성화했다면 사용 범위를 확대하기 전에 위험이 낮은 리포지터리에서 테스트합니다.
호스트 이름 및 OAuth 동작 방식
ChatGPT는 호스트 이름을 바탕으로 GitHub Enterprise 엔드포인트를 구성합니다. github.example.com 또는 octocorp.ghe.com과 같이 호스트 이름만 입력하세요.
API 경로나 리포지터리 경로는 입력하지 마세요. github.com도 이 앱의 실제 GitHub Enterprise 호스트가 아니라면 입력하지 마세요.
문제 해결
리디렉션 URI 불일치: GitHub 앱의 콜백 URL이 ChatGPT에 표시된 콜백 URL과 정확히 일치하는지 확인하세요.
ChatGPT에서 앱 초안을 생성하거나 저장할 수 없음: 호스트 이름, OAuth 클라이언트 ID, OAuth 클라이언트 시크릿, 비공개 키, 웹후크 시크릿을 비롯한 모든 필수 항목이 입력되어 있는지 확인하세요.
인증은 성공하지만 리포지터리 호출은 실패함: GitHub 앱이 설치되어 있고 해당 리포지터리에 대한 액세스 권한이 있는지 확인하세요.
API가 403 또는 권한 부족 오류를 반환함: 누락된 GitHub 앱 권한을 추가하고, 승인을 요청하는 메시지가 표시되면 설치 소유자가 업데이트된 권한을 승인하도록 하세요.
리포지터리가 표시되지 않음: 앱 설치 대상에 원하는 리포지터리가 포함되어 있고, ChatGPT에서 권한을 부여하는 사용자가 해당 리포지터리에 액세스할 수 있는지 확인하세요.
웹후크 전송 실패: 웹후크 URL과 웹후크 시크릿이 ChatGPT의 값과 일치하는지 확인하고, SSL 검증을 활성화된 상태로 유지하세요. 또한 GitHub Enterprise 호스트에서
connectors.api.openai.org에 연결할 수 있는지 확인하세요.비공개 키 오류: 시작 줄과 끝 줄을 포함한 PEM 내용 전체를 복사했는지 확인하세요.
