Topik ini menjelaskan cara memicu pipeline dengan webhook.
Prasyarat
Anda dapat mengaktifkan pemicu webhook untuk mengotomatiskan eksekusi pipeline, sehingga menyederhanakan alur kerja dan memungkinkan integrasi tanpa hambatan serta penerapan yang efisien.
Pada halaman konfigurasi pipeline, klik tab trigger settings, lalu aktifkan sakelar webhook trigger. Halaman tersebut akan menampilkan URL untuk general webhook dan pipeline source webhook. Klik ikon salin di samping URL yang diinginkan, kemudian klik save only atau save and run di pojok kanan atas untuk menyelesaikan konfigurasi.
Untuk menjalankan pipeline menggunakan pemicu webhook, pastikan sakelar webhook trigger dalam keadaan aktif. Pemicu webhook biasanya digunakan untuk panggilan dari alat pihak ketiga di luar sumber kode Anda, tetapi juga dapat dikonfigurasi untuk sistem internal Anda.
Trigger a pipeline with a webhook
Method 1: General webhook trigger
Setelah mengaktifkan pemicu webhook untuk suatu pipeline, jalankan perintah berikut untuk memicunya:
curl --header "Content-Type: application/json" --request POST --data "{}" http://flow-openapi.aliyun.com/pipeline/webhook/your-webhook
Method 2: Pipeline source webhook trigger
URL untuk pemicu webhook sumber pipeline sama dengan URL untuk code source trigger. Pilih konfigurasi yang paling sesuai dengan kasus penggunaan Anda.
Method 3: Environment variable webhook trigger
Pemicu webhook mendukung variabel lingkungan. Anda dapat memicu pipeline menggunakan nilai default variabelnya atau mengganti nilai tersebut dalam permintaan eksekusi. Prosedurnya sebagai berikut:
Pada halaman pengeditan pipeline, pilih tab variables and cache. Di panel sebelah kiri, pilih variables, lalu tambahkan variabel lingkungan di bagian string variable.
-
Untuk memicu pipeline dan mengganti nilai default variabel lingkungan, sertakan nilai baru tersebut dalam data permintaan.
curl --header "Content-Type: application/json" --request POST --data "{\"abc\":\"456\"}" http://flow-openapi.aliyun.com/pipeline/webhook/your-webhook -
Dalam contoh ini, variabel lingkungan
abcmemiliki nilai default123sebelum pipeline dipicu. Setelah dipicu, pipeline mencetak nilai variabel tersebut sebagai456.[executionStep begins at 2024-10-12 14:19:25] ################################################################## # name : Command # version : v1.0.69 # description : execute shell command # help url : https://atomgit.com/flow-step/Command.git # build id : f097ed94-f9fa-40cc-a34a-64741c07ed4a ################################################################## 2024-10-12 14:19:25 [INFO] Given shell executor: [] useGivenShell: [false] 2024-10-12 14:19:25 [INFO] Invoke script with shell [bash] 2024-10-12 14:19:25 [INFO] ------ User Command Content ------ # input your command here echo ${abc} 2024-10-12 14:19:25 [INFO] ------ User Command Content ------ 2024-10-12 14:19:25 [INFO] 456 2024-10-12 14:19:25 [SUCCESS] run step successfully!
Metode-metode ini dapat digunakan untuk memicu pipeline dari sistem pihak ketiga mana pun.
FAQ
Webhook trigger fails with "permission denied"
Pipeline yang dipicu oleh webhook dijalankan dengan izin pengguna yang terakhir kali mengaktifkan pemicu tersebut. Jika pengguna tersebut tidak memiliki izin yang diperlukan atau izinnya telah dicabut, pemicu akan gagal. Ikuti langkah-langkah berikut untuk memperbarui izin:
-
Nonaktifkan pemicu webhook.
-
Minta pengguna yang memiliki izin cukup untuk menjalankan pipeline agar mengaktifkan kembali pemicu webhook.
-
Kirim ulang permintaan webhook untuk memverifikasi perbaikannya.