Tugas Persetujuan

Tugas Persetujuan memungkinkan Anda mengonfigurasi integrasi berbasis persetujuan. Hal ini juga memungkinkan Anda mengontrol alur integrasi.

Anda dapat menggunakan tugas Persetujuan untuk mengirim email permintaan persetujuan ke satu atau beberapa pengguna integrasi. Email tersebut menyertakan link ke integrasi tempat pengguna dapat menyetujui atau menolak permintaan secara manual.

Selama eksekusi integrasi, saat kontrol mencapai tugas Approval, eksekusi akan dihentikan, dan semua tugas setelah tugas Approval akan ditangguhkan. Integrasi akan melanjutkan eksekusi hanya jika pengguna menyetujui atau menolak permintaan persetujuan, baik di konsol Google Cloud atau dengan menggunakan API.

Tugas Persetujuan dapat digunakan untuk tujuan berikut:

  • Untuk menangguhkan dan mencabangkan integrasi berdasarkan persetujuan atau penolakan pengguna.
  • Untuk menangguhkan integrasi hingga durasi yang ditentukan.
  • Untuk digunakan sebagai titik henti sementara guna men-debug integrasi.

Membandingkan Tugas persetujuan, Tugas penangguhan, dan Tugas timer

Ketiga tugas (Approval, Suspend, dan Timer) menjalankan fungsi yang serupa, yaitu menjeda dan melanjutkan integrasi. Namun, ada perbedaan kecil di antara keduanya. Tabel berikut menjelaskan perbedaan di antara ketiga tugas tersebut.

Tugas persetujuan Tugas penangguhan Tugas timer
Dilanjutkan saat pengguna menyetujui atau menolak permintaan di UI Integrasi atau menggunakan API. Mendukung pelanjutan integrasi secara manual dan otomatis. Jika tidak ada intervensi manual untuk mencabut penangguhan, integrasi akan otomatis melanjutkan eksekusi setelah batas waktu penangguhan berakhir. Hanya mendukung pelanjutan otomatis integrasi. Eksekusi integrasi akan otomatis dilanjutkan setelah batas waktu penangguhan berakhir.
Dapat melanjutkan integrasi dari UI Integrasi atau dengan memanggil metode suspensions.resolve. Lihat Menyetujui atau menolak menggunakan API. Dapat melanjutkan integrasi dengan memanggil metode suspensions.lift. Hanya mendukung pelanjutan otomatis integrasi.
Pengguna menerima notifikasi saat integrasi dijeda (ditangguhkan). Pengguna tidak menerima notifikasi apa pun saat integrasi dijeda (ditangguhkan). Pengguna tidak menerima notifikasi apa pun saat integrasi dijeda (ditangguhkan).
Mendukung variabel output (boolean), yang memungkinkan Anda melakukan pemeriksaan bersyarat sebelum melanjutkan integrasi. Namun, variabel output hanya dapat memiliki nilai true atau false. Mendukung variabel output (string), yang memungkinkan Anda melakukan pemeriksaan bersyarat sebelum melanjutkan integrasi. Anda dapat menetapkan nilai apa pun ke variabel output. Tidak mendukung variabel output apa pun.

Mengonfigurasi tugas Approval

Untuk mengonfigurasi tugas Approval:

  1. Di konsol Google Cloud , buka halaman Application Integration.

    Buka Application Integration

  2. Di menu navigasi, klik Integrations.

    Halaman Integrations akan muncul dan mencantumkan semua integrasi yang tersedia di project Google Cloud.

  3. Pilih integrasi yang ada atau klik Create integration untuk membuat integrasi baru.

    Jika Anda membuat integrasi baru:

    1. Masukkan nama dan deskripsi di panel Create Integration.
    2. Pilih region untuk integrasi.
    3. Pilih akun layanan untuk integrasi. Anda dapat mengubah atau memperbarui detail akun layanan integrasi kapan saja dari panel Integration summary di toolbar integrasi.
    4. Klik Create. Integrasi yang baru dibuat akan terbuka di editor integrasi.

  4. Di menu navigasi editor integrasi, klik Tasks untuk melihat daftar tugas dan konektor yang tersedia.
  5. Klik dan tempatkan elemen tugas Approval di editor integrasi.
  6. Klik elemen tugas Approval di desainer untuk melihat panel konfigurasi tugas Approval.
  7. Konfigurasikan kolom yang ditampilkan menggunakan Properti konfigurasi untuk tugas seperti yang dijelaskan dalam tabel di bawah.

    Semua perubahan pada properti akan disimpan secara otomatis.

Properti konfigurasi

Tabel berikut menjelaskan properti konfigurasi tugas Approval.

Properti Data type Deskripsi
Recipients Array String Alamat email yang akan dikirimi notifikasi saat tugas ditangguhkan. Masukkan beberapa alamat email yang dipisahkan dengan koma.
Custom notification message String Pesan kustom yang akan disertakan dalam notifikasi email saat tugas ditangguhkan. Nilai dapat berupa literal atau variabel. Jika pesan kustom tersedia dalam variabel, klik VAR dan pilih variabel.
Reminder frequency (in hours) Bilangan bulat Frekuensi notifikasi pengingat.

Jika penangguhan dalam status belum terselesaikan, Anda dapat mengirim notifikasi email pengingat yang meminta pengguna yang diberi otorisasi untuk menyelesaikan penangguhan.

Time until expiration (in hours) Bilangan bulat Jangka waktu penangguhan.

Jika penangguhan tidak diselesaikan dalam batas waktu, penangguhan akan ditolak secara default.

On expiration Boolean Tindakan yang akan diambil setelah masa penangguhan berakhir.

Anda dapat memilih untuk menolak penangguhan atau mencabut penangguhan. Secara default, penangguhan ditolak.

isApproved (Approval) Boolean Variabel output yang memiliki status penangguhan setelah penyelesaian.

Variabel isApproved ditetapkan ke True jika penangguhan disetujui dan ditetapkan ke False jika penangguhan ditolak.

Merespons permintaan persetujuan menggunakan API

Untuk menyetujui atau menolak permintaan persetujuan yang tertunda tanpa konsol Google Cloud , panggil metode projects.locations.integrations.executions.suspensions.resolve.

Untuk menyetujui atau menolak permintaan, Anda memerlukan izin integrations.suspensions.resolve. Untuk mencantumkan penangguhan, Anda juga memerlukan izin integrations.suspensions.list. Peran Application Integration Approver (roles/integrations.suspensionResolver) berisi kedua izin tersebut, begitu juga dengan peran Application Integration Admin (roles/integrations.integrationAdmin).

Jika integrasi menggunakan akun layanan run-as, berikan peran Service Account User (roles/iam.serviceAccountUser) di akun layanan tersebut. Persyaratan ini berlaku seiring dengan peluncuran yang dijelaskan dalam Memberikan Pengguna Akun Layanan.

  1. Untuk menemukan permintaan yang tertunda, cantumkan penangguhan eksekusi menggunakan metode projects.locations.integrations.executions.suspensions.list:
    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME/executions/EXECUTION_ID/suspensions"
    

    Dalam respons, temukan penangguhan yang taskId-nya adalah ID tugas Persetujuan Anda dan yang state-nya adalah PENDING. Respons juga mencakup penangguhan dari tugas Suspend dan dari tugas Approval lainnya dalam eksekusi yang sama. Catat name penangguhan, yang diakhiri dengan ID penangguhan.

  2. Untuk menyetujui atau menolak permintaan, panggil metode suspensions.resolve:
    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -d '{
          "suspension": {
            "eventExecutionInfoId": "EXECUTION_ID",
            "integration": "INTEGRATION_NAME",
            "taskId": "TASK_ID",
            "state": "STATE"
          }
        }' \
        "https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME/executions/EXECUTION_ID/suspensions/SUSPENSION_ID:resolve"
    

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud Anda.
  • LOCATION: Region integrasi.
  • INTEGRATION_NAME: Nama integrasi.
  • EXECUTION_ID: ID eksekusi yang ditangguhkan.
  • TASK_ID: ID tugas Persetujuan (taskId penangguhan).
  • SUSPENSION_ID: ID penangguhan dari name penangguhan.
  • STATE: Status penyelesaian. Gunakan LIFTED untuk menyetujui permintaan (menetapkan isApproved ke true), atau REJECTED untuk menolaknya (menetapkan isApproved ke false).

Strategi penanganan error

Strategi penanganan error untuk tugas menentukan tindakan yang harus diambil jika tugas gagal karena error sementara. Untuk mengetahui informasi tentang cara menggunakan strategi penanganan error, dan untuk mengetahui berbagai jenis strategi penanganan error, lihat Strategi penanganan error.

Kuota dan batas

Untuk mengetahui informasi tentang kuota dan batas, lihat Kuota dan batas.

Langkah berikutnya