Dialogflow CX terintegrasi dengan GitHub. Integrasi ini memudahkan Anda mengekspor agen ke JSON untuk mengirim ke GitHub, dan menarik dari GitHub untuk pemulihan agen. Format JSON yang diekspor ke GitHub adalah konten file zip yang diperluas dari agen yang diekspor.
Dengan menggunakan fitur ini, Anda dapat memanfaatkan fitur kontrol sumber GitHub seperti:
- Peninjauan perubahan agen menggunakan alat peninjauan kode
- Memeriksa perbedaan agen menggunakan alat perbedaan
- Penggabungan
- Dan seterusnya
Batasan
Batasan berikut berlaku:
- GitHub memiliki batas kapasitas untuk jumlah permintaan per jam (5.000 untuk akun non-perusahaan, 15.000 untuk akun perusahaan). Jika push agen Anda melebihi batas ini, konsol Dialogflow akan melaporkan error batas kapasitas. Anda dapat mencoba lagi push tersebut setelah satu jam.
- GitHub API memiliki batasan jumlah file yang dapat diupdate dalam satu commit. Jika jumlah file melebihi 500, Anda mungkin tidak dapat mengirim ke GitHub dari Dialogflow. Dalam kasus semacam ini, Anda dapat mengekspor
agen sebagai zip dan menggunakan Git CLI di mesin Anda untuk mengirim file agen ke GitHub. Batasan ini akan diatasi dalam rilis Dialogflow selanjutnya. - Repo akses pribadi yang dihosting sendiri tidak didukung, karena Dialogflow tidak dapat mengakses repositori ini.
- Repositori GitHub tidak boleh berisi file apa pun selain file agen yang diekspor oleh ekspor agen. File lain dalam repositori akan dihapus pada setiap push.
Konfigurasi
Untuk mengonfigurasi integrasi ini:
- Buka Dialogflow CX Console.
- Pilih project Google Cloud Anda.
- Pilih agen Anda.
- Klik tab Kelola.
- Klik Git di bagian Pengujian & Deployment.
- Klik Tambahkan integrasi Git, dan dialog konfigurasi akan terbuka.
- Masukkan info berikut:
- Nama tampilan untuk koneksi GitHub.
- URL repositori GitHub (misalnya:
https://api.github.com/repos/<repository_owner>/<repository_name>
). - Tambahkan cabang GitHub yang akan berinteraksi dengan agen Anda. Anda dapat menetapkan cabang sebagai cabang default dengan mengklik ikon bintang di sampingnya.
- Token pribadi GitHub tidak dapat dilihat setelah ditetapkan, hanya update yang didukung.
Jika menggunakan token akses pribadi yang mendetail, Anda memerlukan akses izin berikut:
- Izin Repositori > Konten: Membaca dan menulis
- Izin Repositori > Metadata: Hanya baca (harus dipilih secara otomatis setelah memilih izin Konten)
- Klik Connect.
Konfigurasi ini dapat diubah kapan saja dengan mengklik ikon edit.
Kirim dan pulihkan
Setelah dikonfigurasi, Anda dapat mengirim/menarik agen ke/dari GitHub.
Tombol Push digunakan untuk mengekspor agen dan membuat commit ke cabang GitHub yang dipilih di menu dropdown cabang Git. Commit ini akan terdiri dari seluruh agen, bukan perubahan spesifik, dan akan menghapus semua file yang ada di repositori.
Untuk repositori baru, pastikan setidaknya ada satu commit dari GitHub sebelum menggunakan opsi push di konsol Dialogflow.
Pengguna dengan peran Dialogflow Reader memiliki kemampuan untuk mengirim ke repositori GitHub. Untuk mencegah pengiriman yang tidak diinginkan, konfigurasi agen ini dengan token akses pribadi hanya baca.
Tombol Restore digunakan untuk mengambil data agen dari cabang GitHub yang dipilih di dropdown cabang Git dan memulihkan agen Dialogflow Anda dari data ini. Tindakan ini akan menimpa agen Anda dengan cara yang sama seperti perilaku pemulihan agen apa pun.
Contoh kasus penggunaan
Contoh berikut menggambarkan bagaimana fitur ini dapat digunakan oleh beberapa orang untuk mengusulkan perubahan agen yang berbeda pada agen produksi.
Pertimbangkan bahwa agen Anda menggunakan cabang GitHub 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.
- Lakukan perubahan yang diinginkan pada salinan agen ini.
- Uji perubahannya.
- Kirim agen yang telah diubah ke cabang Dev1.
- Buat permintaan penggabungan ke cabang Prod.
Pengguna 2 ingin mengusulkan perubahan agen dan mengambil langkah-langkah berikut:
- Mengekspor agen produksi ke agen baru.
- Lakukan perubahan yang diinginkan pada salinan agen ini.
- Uji perubahannya.
- Kirim agen yang telah 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 GitHub produksi ke agen Dialogflow produksi.