Dialogflow CX는 GitHub와 통합됩니다. 이러한 통합을 통해 에이전트를 JSON으로 내보내 GitHub에 푸시(push)하고 에이전트 복원을 위해 GitHub에서 풀(pull)할 수 있습니다. GitHub에 푸시된 JSON 내보내기 형식은 내보낸 에이전트의 확장된 ZIP 파일 콘텐츠입니다.
이 기능을 사용하면 다음과 같은 GitHub 소스 제어 기능을 활용할 수 있습니다.
제한사항
다음과 같은 제한사항이 적용됩니다.
- GitHub에는 시간당 요청 수에 대한 비율 제한이 있습니다(비회사 계정의 경우 5,000개, 회사 계정의 경우 15,000개). 에이전트 푸시가 이 한도를 초과하면 Dialogflow 콘솔에서 비율 제한 오류를 보고합니다. 한 시간 후에 푸시를 다시 시도할 수 있습니다.
- GitHub API에는 단일 커밋으로 업데이트할 수 있는 파일 수에 제한이 있습니다. 파일 수가 500개를 초과하면 Dialogflow에서 GitHub로 푸시하지 못할 수 있습니다. 이러한 경우 에이전트를 zip 파일로 내보내고
머신의 Git CLI를 사용하여 에이전트 파일을 GitHub로 푸시합니다. 이러한 제한은 이후 Dialogflow 출시 버전에서 해결될 예정입니다. - Dialogflow가 이러한 저장소에 액세스할 수 없으므로 비공개 액세스 자체 호스팅 저장소는 지원되지 않습니다.
- GitHub 저장소에는 에이전트 내보내기에서 내보낸 에이전트 파일 이외의 파일은 포함될 수 없습니다. 푸시 시 저장소의 다른 모든 파일이 삭제됩니다.
구성
이 통합을 구성하려면 다음 안내를 따르세요.
- Dialogflow CX 콘솔을 엽니다.
- Google Cloud 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 관리 탭을 클릭합니다.
- 테스트 및 배포 섹션에서 Git을 클릭합니다.
- Git 통합 추가를 클릭하면 구성 대화상자가 열립니다.
- 다음을 입력합니다.
- GitHub 연결의 표시 이름.
- GitHub 저장소 URL(예:
https://api.github.com/repos/<repository_owner>/<repository_name>
). - 에이전트가 상호작용할 GitHub 브랜치를 추가합니다. 옆에 있는 별표 아이콘을 클릭하여 브랜치를 기본 브랜치로 지정할 수 있습니다.
- GitHub 개인 토큰은 한 번 설정하고 나면 볼 수 없으며 업데이트만 지원됩니다.
세분화된 개인 액세스 토큰을 사용하는 경우 다음 권한 액세스 권한이 필요합니다.
- 저장소 권한 > 콘텐츠: 읽기 및 쓰기
- 저장소 권한 > 메타데이터: 읽기 전용(콘텐츠 권한을 선택한 후 자동으로 선택됨)
- 연결을 클릭합니다.
수정 아이콘을 클릭하여 언제든지 이 구성을 변경할 수 있습니다.
푸시 및 복원
구성된 후에는 GitHub에서 에이전트를 내보내거나 가져올 수 있습니다.
내보내기 버튼은 에이전트를 내보내고 Git 브랜치 드롭다운에서 선택한 GitHub 브랜치에 커밋하는 데 사용됩니다. 이 커밋은 특정 변경사항이 아닌 전체 에이전트로 구성되며 저장소의 기존 파일을 삭제합니다.
새 저장소의 경우 Dialogflow 콘솔에서 푸시 옵션을 사용하기 전에 GitHub의 커밋이 하나 이상 있는지 확인합니다.
Dialogflow 리더 역할이 있는 사용자는 GitHub 저장소로 푸시할 수 있습니다. 원치 않는 푸시를 방지하려면 읽기 전용 개인 액세스 토큰으로 이러한 에이전트를 구성합니다.
복원 버튼은 Git 브랜치 드롭다운에서 선택한 GitHub 브랜치에서 에이전트 데이터를 가져오고 이 데이터에서 Dialogflow 에이전트를 복원하는 데 사용됩니다. 그러면 에이전트가 복원하는 것과 동일한 방식으로 에이전트를 덮어씁니다.
사용 사례
다음 예시에서는 여러 사용자가 이 기능을 사용하여 프로덕션 에이전트에 다양한 에이전트 변경사항을 제안하는 방법을 보여줍니다.
에이전트가 다음 GitHub 브랜치를 사용한다고 가정해보세요.
- Prod: 프로덕션 에이전트를 위한 브랜치
- Dev1: 에이전트 개발을 위한 브랜치
- Dev2: 에이전트 개발을 위한 또 다른 브랜치
사용자 1은 에이전트 변경을 제안하기를 원하며 다음 단계를 수행합니다.
- 프로덕션 에이전트를 새 에이전트로 내보냅니다.
- 이 에이전트 사본을 원하는 대로 변경합니다.
- 변경사항을 테스트합니다.
- 변경된 에이전트를 Dev1 브랜치로 푸시합니다.
- Prod 브랜치에 대한 병합 요청을 만듭니다.
사용자 2는 에이전트 변경을 제안하기를 원하며 다음 단계를 수행합니다.
- 프로덕션 에이전트를 새 에이전트로 내보냅니다.
- 이 에이전트 사본을 원하는 대로 변경합니다.
- 변경사항을 테스트합니다.
- 변경된 에이전트를 Dev2 브랜치로 푸시합니다.
- Prod 브랜치에 대한 병합 요청을 만듭니다.
사용자 3은 두 사용자의 병합 요청을 검토하고 다음 단계를 수행합니다.
- 충돌을 해결합니다.
- 승인된 변경사항을 커밋합니다.
- 프로덕션 GitHub 브랜치를 프로덕션 Dialogflow 에이전트로 복원합니다.