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
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat webhook, minta administrator untuk memberi Anda peran IAM berikut:
- Admin Repositori Secure Source Manager (
roles/securesourcemanager.repoAdmin) di repositori Secure Source Manager - Pengakses Instance Secure Source Manager (
roles/securesourcemanager.instanceAccessor) di instance Secure Source Manager
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Untuk mengetahui informasi tentang pemberian peran Secure Source Manager, lihat Kontrol akses dengan IAM dan Memberi pengguna akses instance.
Menyiapkan webhook
- Di antarmuka web Secure Source Manager, buka repositori yang ingin Anda buat webhook-nya.
- Klik Settings.
- Klik Webhooks, lalu klik Add webhook.
Di kolom Hook ID, masukkan ID untuk webhook.
Di kolom Target URL, masukkan URL Webhook. Misalnya, jika Anda ingin memicu build di Jenkins, Anda dapat Menyiapkan pemicu webhook, lalu masukkan URL pemicu Jenkins di sini untuk memicu build di Jenkins.
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 Sensitive Query String.
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%20ManagerSalin dan hapus bagian yang dimulai dengan tanda tanya
?key=...dari kolom Target URL. Kemudian, hapus tanda tanya awal, pindahkan bagian yang tersisakey=...ke kolom Sensitive Query String.Di bagian Trigger on, pilih salah satu opsi berikut:
- Push: untuk memicu push ke repositori.
- Status permintaan pull berubah: untuk memicu perubahan status permintaan pull.
Jika Anda memilih Push, Anda dapat memasukkan daftar yang diizinkan untuk peristiwa push di kolom Branch filter.
Kolom Branch filter menggunakan pola glob dan hanya operasi pada cabang yang cocok yang akan menyebabkan pemicu build. Misalnya,
{main,dev}memicu peristiwa push ke cabangmaindandev. Jika kolom kosong atau*, peristiwa push untuk semua cabang akan dilaporkan. Untuk mengetahui informasi tentang sintaksis, lihat dokumentasi glob.Klik Add webhook.
Webhook akan ditampilkan di halaman Webhooks.
Menguji webhook
- Di halaman Webhooks Secure Source Manager, klik webhook yang ingin Anda uji.
Buka bagian bawah halaman, lalu klik Test delivery.
Peristiwa placeholder ditambahkan ke antrean pengiriman. Mungkin perlu waktu beberapa detik sebelum peristiwa tersebut muncul di histori pengiriman.
Anda juga dapat menggunakan perintah
gituntuk mengirim atau menggabungkan permintaan pull guna menguji webhook.Periksa status build atau peristiwa yang dipicu dalam histori build layanan tempat Anda mengonfigurasi pemicu webhook.
Anda juga dapat melihat Request dan Response ke pengiriman pengujian di bagian Recent deliveries halaman webhook Secure Source Manager setelah Anda mengirim pengiriman pengujian pertama.
Mengganti variabel YAML Cloud Build dengan data payload
Jika menggunakan webhook untuk terhubung ke Cloud Build, Anda dapat mengganti variabel YAML Cloud Build dengan data payload webhook Secure Source Manager.
Di halaman Webhooks Secure Source Manager, di bagian Recent deliveries, klik baris teratas.
Header dan konten Request yang dikirim oleh payload webhook akan ditampilkan.
Buka dasbor Cloud Build, lalu klik Triggers.
Klik pemicu yang ingin Anda konfigurasi.
Di Advanced section, di bagian Substitution variables, klik + Add variable.
Masukkan nama dan nilai variabel. Awalan nilai adalah
body.Misalnya, untuk mengganti
_REPO_URLdengan kolom data payloadrepository.clone_urldan_COMMIT_SHAdengan sha commit terbaru di YAML Cloud Build, masukkan nama dan nilai berikut:- Variabel 1:
_REPO_URLNilai 1:$(body.repository.clone_url) - Variabel 2:
_COMMIT_SHANilai 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}- Variabel 1: