Agen Percakapan (Dialogflow CX) terintegrasi dengan beberapa penyedia Git (GitHub, GitLab, Bitbucket, dan lainnya). Integrasi ini memudahkan Anda mengekspor agen ke JSON untuk melakukan push ke penyedia Git, dan melakukan pull dari penyedia Git untuk pemulihan agen. Format JSON yang diekspor dan dikirim ke penyedia Git adalah konten file zip yang diekstrak dari agen yang diekspor.
Dengan menggunakan fitur ini, Anda dapat memanfaatkan fitur kontrol sumber penyedia Git seperti:
- Agen meninjau perubahan menggunakan alat peninjauan kode
- Memeriksa perbedaan agen menggunakan alat perbedaan
- Penggabungan
Batasan
Batasan berikut berlaku:
- [Khusus versi integrasi lama] API GitHub memiliki batasan jumlah file yang dapat diupdate dalam satu commit. Jika jumlah file melebihi 500, Anda mungkin tidak dapat mengirim ke GitHub dari Agen Percakapan (Dialogflow CX). Dalam kasus seperti itu, Anda dapat mengekspor agen sebagai zip dan menggunakan Git CLI di komputer Anda untuk mengirim file agen ke GitHub. Batasan ini akan diatasi dalam rilis Agen Percakapan (Dialogflow CX) mendatang.
- Repositori GitHub dengan akses pribadi yang dihosting sendiri tidak didukung karena Agen Percakapan (Dialogflow CX) tidak dapat mengakses repositori ini.
- Repositori Git tidak boleh berisi file selain file agen yang diekspor oleh ekspor agen. File lain di repositori akan dihapus setiap kali ada push.
Konfigurasi
Untuk mengonfigurasi fitur ini, Anda perlu mendapatkan token akses dari penyedia Git, menyimpannya di Secret Manager, dan memberikan resource secret ke Agen Percakapan (Dialogflow CX):
Token akses
Untuk mendapatkan token akses dari penyedia Git Anda:
GitHub
Anda harus mendapatkan token pribadi GitHub Jika Anda menggunakan token akses pribadi terperinci, Anda memerlukan akses izin berikut:
- Izin Repositori > Konten: Baca dan tulis
- Izin Repositori > Metadata: Hanya baca (harus dipilih secara otomatis setelah memilih izin Konten)
Gitlab
Anda harus mendapatkan token akses pribadi GitLab.
Bitbucket
Anda harus mendapatkan token akses Bitbucket.
Secret Manager
Setelah memiliki token akses, Anda perlu membuat secret untuk token Anda:
Konfigurasi Agen Percakapan (Dialogflow CX)
Untuk mengonfigurasi integrasi ini untuk Agen Percakapan (Dialogflow CX):
- Berikan izin kepada agen layanan Dialogflow untuk mengakses secret token akses di Secret Manager.
Berikan peran
Secret Manager Secret Accessor
kepada akun layanangcp-sa-dialogflow.iam.gserviceaccount.com
di project agen Anda. Lihat Memberikan akses ke secret Secret Manager. - Buka konfigurasi integrasi Git:
- Konsol Agen Percakapan
- Buka tampilan setelan dengan mengklik ikon setelan di dekat pojok kanan atas.
- Scroll ke bawah, lalu klik Tambahkan integrasi Git.
- Konsol Dialogflow CX
- Klik tab Kelola.
- Klik Git di bagian Testing & Deployment.
- Klik Buat baru.
- Konsol Agen Percakapan
- Berikan detail konfigurasi:
- Masukkan info berikut:
- Nama tampilan untuk koneksi GitHub.
- URL repositori Git (misalnya:
https://github.com/<path-to-repo>.git
). - Tambahkan cabang Git yang akan berinteraksi dengan agen Anda. Anda dapat menetapkan cabang sebagai cabang default dengan mengklik ikon bintang di sampingnya.
- Secret token akses,
yaitu versi secret yang Anda buat dalam formulir
projects/*/secrets/*/versions/*
untuk versi tertentu atauprojects/*/secrets/*/versions/latest
untuk versi terbaru.
- Klik Connect.
- Mungkin perlu waktu satu menit hingga layanan Git siap. Konsol akan menampilkan notifikasi.
- Masukkan info berikut:
Mendorong dan memulihkan
Setelah dikonfigurasi, Anda dapat mengirim/menarik agen ke/dari Git.
Tombol Push digunakan untuk mengekspor agen Anda dan melakukan commit ke cabang Git yang dipilih di dropdown cabang Git. Penerapan ini akan terdiri dari seluruh agen dan bukan perubahan tertentu, serta akan menghapus file yang ada di repositori.
Pengguna dengan peran Dialogflow Reader memiliki kemampuan untuk mengirim ke repositori Git. Untuk mencegah push yang tidak diinginkan, konfigurasi agen ini dengan token akses pribadi hanya baca.
Tombol Pulihkan digunakan untuk menarik data agen Anda dari cabang Git yang dipilih di drop-down cabang Git dan memulihkan agen Agen Percakapan (Dialogflow CX) Anda dari data ini. Tindakan ini akan menggantikan agen Anda dengan cara yang sama seperti perilaku pemulihan agen.
Contoh kasus penggunaan
Contoh berikut mengilustrasikan cara fitur ini dapat digunakan oleh beberapa orang untuk mengusulkan perubahan agen yang berbeda pada agen produksi.
Pertimbangkan bahwa agen Anda menggunakan cabang Git berikut:
- Prod: cabang untuk agen produksi Anda
- Dev1: cabang untuk pengembangan agen
- Dev2: cabang lain untuk pengembangan agen
Pengguna 1 ingin mengusulkan perubahan agen dan melakukan langkah-langkah berikut:
- Mengekspor agen produksi ke agen baru.
- Buat perubahan yang diinginkan pada salinan agen ini.
- Uji perubahan.
- Dorong agen yang diubah ke cabang Dev1.
- Buat permintaan penggabungan ke cabang Prod.
Pengguna 2 ingin mengusulkan perubahan agen dan melakukan langkah-langkah berikut:
- Mengekspor agen produksi ke agen baru.
- Buat perubahan yang diinginkan pada salinan agen ini.
- Uji perubahan.
- Kirim agen yang diubah ke cabang Dev2.
- Buat permintaan penggabungan ke cabang Prod.
Pengguna 3 meninjau permintaan penggabungan dari kedua pengguna dan melakukan langkah-langkah berikut:
- Selesaikan konflik.
- Melakukan perubahan yang disetujui.
- Memulihkan cabang Git produksi ke agen Agen Percakapan (Dialogflow CX) produksi.