Menyiapkan webhook

Halaman ini menjelaskan cara menyiapkan webhook di Secure Source Manager.

Webhook adalah permintaan HTTP yang dipicu oleh peristiwa di Secure Source Manager, dan dikirim ke URL yang ditentukan pengguna.

Sebelum memulai

  1. Buat instance Secure Source Manager.
  2. Buat repositori Secure Source Manager.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat webhook, minta administrator Anda untuk memberi Anda peran IAM berikut:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran kustom atau peran yang telah ditentukan lainnya.

Untuk mengetahui informasi tentang cara memberikan peran Secure Source Manager, lihat Kontrol akses dengan IAM dan Memberikan akses instance kepada pengguna.

Menyiapkan webhook

  1. Di antarmuka web Secure Source Manager, buka repositori yang ingin Anda buat webhook-nya.
  2. Klik Setelan.
  3. Klik Webhook, lalu klik Tambahkan webhook.
  4. Di kolom Hook ID, masukkan ID untuk webhook.

  5. Di kolom Target URL, masukkan URL Webhook. Misalnya, jika Anda ingin memicu build di Jenkins, Anda dapat Menyiapkan pemicu webhook, lalu memasukkan URL pemicu Jenkins di sini untuk memicu build di Jenkins.

  6. Jika URL Webhook berisi nilai kunci dan rahasia yang dimasukkan saat Anda membuat pemicu webhook, hapus nilai tersebut dari akhir URL target dan salin ke kolom String Kueri Sensitif.

    Untuk menemukan kunci dan rahasia di URL webhook, cari teks yang dimulai dengan key=

    Misalnya, dengan URL berikut: https://cloudbuild.googleapis.com/v1/projects/my-project/triggers/test-trigger:webhook?key=eitIfKhYnv0LrkdsyHqIros8fbsheKRIslfsdngf&secret=Hello%20Secret%20Manager

    Salin dan hapus bagian yang dimulai dengan tanda tanya ?key=... dari kolom URL Target. Kemudian, hapus tanda tanya awal, pindahkan bagian key=... yang tersisa ke kolom String Kueri Sensitif.

  7. Di bagian Picu di, pilih salah satu opsi berikut:

    • Push: untuk memicu saat mengirim ke repositori.
    • Status permintaan pull diubah: untuk dipicu saat ada perubahan pada status permintaan pull.
  8. Jika Anda memilih Push, Anda dapat memasukkan daftar yang diizinkan untuk peristiwa push di kolom Filter cabang.

    Kolom Filter cabang menggunakan pola glob dan hanya operasi pada cabang yang cocok yang akan menyebabkan pemicu build. Jika kolom kosong atau *, maka peristiwa push untuk semua cabang akan dilaporkan. Untuk mengetahui informasi tentang sintaksis, lihat dokumentasi glob.

  9. Klik Tambahkan webhook.

  10. Webhook ditampilkan di halaman Webhook.

Menguji webhook Anda

  1. Di halaman Webhook Secure Source Manager, klik webhook yang ingin Anda uji.
  2. Buka bagian bawah halaman, lalu klik Uji penayangan.

    Acara placeholder ditambahkan ke antrean pengiriman. Mungkin perlu waktu beberapa detik sebelum muncul di histori pengiriman.

  3. Anda juga dapat menggunakan perintah git untuk mengirim atau menggabungkan permintaan pull guna menguji webhook.

  4. Periksa status build atau peristiwa yang dipicu dalam histori build layanan tempat Anda mengonfigurasi pemicu webhook.

  5. Anda juga dapat melihat Permintaan dan Respons terhadap penayangan pengujian di bagian Penayangan terbaru di halaman webhook Secure Source Manager setelah Anda mengirimkan penayangan pengujian pertama.

Mengganti variabel YAML Cloud Build dengan data payload

Jika Anda menggunakan webhook untuk terhubung ke Cloud Build, Anda dapat mengganti variabel YAML Cloud Build dengan data payload webhook Secure Source Manager.

  1. Di halaman Webhook Secure Source Manager, di bagian Pengiriman terbaru, klik baris teratas.

    Header dan konten Request yang dikirim oleh payload webhook ditampilkan.

  2. Buka dasbor Cloud Build, lalu klik Triggers.

  3. Klik pemicu yang ingin Anda konfigurasi.

  4. Di bagian Advanced, di bagian Substitution variables, klik + Add variable.

  5. Masukkan nama dan nilai variabel. Awalan nilai adalah body.

    Misalnya, untuk mengganti _REPO_URL dengan kolom data payload repository.clone_url dan _COMMIT_SHA dengan SHA commit terbaru di YAML Cloud Build, masukkan nama dan nilai berikut:

    • Variabel 1: _REPO_URL Nilai 1: $(body.repository.clone_url)
    • Variabel 2: _COMMIT_SHA Nilai 2: $(body.after)

    File YAML Cloud Build akan terlihat seperti berikut:

    steps:
    - name: gcr.io/cloud-builders/git
      env:
      - '_REPO_URL=$_REPO_URL'
      - '_COMMIT_SHA=$_COMMIT_SHA'
      script: |
        #!/bin/sh
        git clone ${_REPO_URL} /workspace
        cd /workspace
        git reset --hard ${_COMMIT_SHA}
    

Langkah berikutnya