Ekspor/pemulihan Git

Dialogflow CX terintegrasi dengan beberapa penyedia Git (GitHub, Gitlab, Bitbucket, dan lainnya). Integrasi ini memudahkan Anda mengekspor agen ke JSON untuk dikirim ke penyedia Git, dan mengambil dari penyedia Git untuk pemulihan agen. Format ekspor JSON yang dikirim ke penyedia Git adalah konten file zip yang diperluas dari agen yang diekspor.

Dengan menggunakan fitur ini, Anda dapat memanfaatkan fitur kontrol sumber penyedia Git seperti:

  • Peninjauan perubahan agen menggunakan alat peninjauan kode
  • Memeriksa perbedaan agen menggunakan alat diff
  • Penggabungan

Batasan

Batasan berikut berlaku:

  • [Khusus versi integrasi lama] 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 CX. Dalam kasus semacam ini, Anda dapat mengekspor agen sebagai file ZIP dan menggunakan Git CLI di komputer Anda untuk mengirim file agen ke GitHub. Batasan ini akan diatasi dalam rilis Dialogflow CX mendatang.
  • Repositori yang dihosting sendiri dengan akses pribadi GitHub tidak didukung, karena Dialogflow CX tidak dapat mengakses repositori ini.
  • Repositori Git 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 fitur ini, Anda perlu mendapatkan token akses dari penyedia Git, menyimpannya di Secret Manager, dan memberikan resource secret ke Dialogflow CX:

Token akses

Untuk mendapatkan token akses dari penyedia Git Anda:

GitHub

Anda perlu mendapatkan token pribadi GitHub Jika menggunakan token akses pribadi yang mendetail, Anda memerlukan akses izin berikut:

  • Repository Permissions > Contents: Read and write
  • Repository Permissions > Metadata: Read-only (harus dipilih otomatis setelah memilih izin Contents)

Gitlab

Anda harus mendapatkan token akses pribadi Gitlab.

Bitbucket

Anda perlu mendapatkan token akses Bitbucket.

Secret Manager

Setelah memiliki token akses, Anda perlu membuat secret untuk token Anda:

  1. Aktifkan Secret Manager API.
  2. Membuat secret.

Konfigurasi Dialogflow CX

Untuk mengonfigurasi integrasi ini untuk Dialogflow CX:

  1. Berikan izin kepada agen layanan Dialogflow untuk mengakses secret token akses di Secret Manager. Berikan peran Secret Manager Secret Accessor ke akun layanan gcp-sa-dialogflow. di project agen Anda. Lihat Memberikan akses ke secret Secret Manager.
  2. Buka konfigurasi integrasi Git:
    • Konsol Conversational Agents
      1. Buka tampilan setelan dengan mengklik ikon setelan di dekat pojok kanan atas.
      2. Scroll ke bawah, lalu klik Add Git integration.
    • Konsol Dialogflow CX
      1. Klik tab Kelola.
      2. Klik Git di bagian Testing & Deployment.
      3. Klik Buat baru.
  3. Berikan detail konfigurasi:
    1. 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.
      • Rahasia token akses, yang merupakan versi rahasia yang Anda buat dalam bentuk projects/*/secrets/*/versions/* untuk versi tertentu atau projects/*/secrets/*/versions/latest untuk versi terbaru.
    2. Klik Hubungkan.
    3. Mungkin perlu waktu satu menit agar layanan Git siap. Konsol akan menampilkan notifikasi.

Push dan pulihkan

Setelah dikonfigurasi, Anda dapat mengirim/mengambil agen ke/dari Git.

Tombol Push digunakan untuk mengekspor agen Anda dan membuat commit ke cabang Git yang dipilih di dropdown cabang Git. Commit 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, konfigurasikan agen ini dengan token akses pribadi hanya baca.

Tombol Restore digunakan untuk mengambil data agen Anda dari cabang Git yang dipilih di drop-down cabang Git dan memulihkan agen Dialogflow CX Anda dari data ini. Tindakan ini akan menimpa 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 ke 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:

  1. Ekspor agen produksi ke agen baru.
  2. Buat perubahan yang diinginkan pada salinan agen ini.
  3. Uji perubahan.
  4. Kirim agen yang diubah ke cabang Dev1.
  5. Buat permintaan penggabungan ke cabang Prod.

Pengguna 2 ingin mengusulkan perubahan agen dan melakukan langkah-langkah berikut:

  1. Ekspor agen produksi ke agen baru.
  2. Buat perubahan yang diinginkan pada salinan agen ini.
  3. Uji perubahan.
  4. Kirim agen yang diubah ke cabang Dev2.
  5. Buat permintaan penggabungan ke cabang Prod.

Pengguna 3 meninjau permintaan penggabungan dari kedua pengguna dan melakukan langkah-langkah berikut:

  1. Selesaikan konflik.
  2. Menerapkan perubahan yang disetujui.
  3. Memulihkan cabang Git produksi ke agen Dialogflow CX produksi.