Topik ini menjelaskan dasar-dasar dan contoh langkah pilihan, serta ekspresi kondisional terkait.
Parameter
Langkah pilihan memungkinkan eksekusi langkah yang berbeda dalam alur kerja berdasarkan kondisi, mirip dengan switch-case dalam bahasa pemrograman. Langkah pilihan mencakup beberapa pilihan dan default. Setiap pilihan memiliki ekspresi kondisional, beberapa langkah, dan instruksi goto. Default hanya mencakup beberapa langkah dan instruksi goto. Ketika alur kerja mencapai langkah pilihan, sistem mengevaluasi apakah ekspresi kondisional mengembalikan True sesuai urutan yang telah ditentukan.
Jika mengembalikan
True, langkah-langkah dan kemudian instruksi goto yang didefinisikan dalam pilihan tersebut akan dieksekusi.Jika tidak ada pilihan yang mengembalikan
True, langkah-langkah dan instruksi goto yang didefinisikan dalam default akan dieksekusi.Jika tidak ada default yang didefinisikan, langkah pilihan berakhir.
Langkah pilihan mencakup atribut berikut:
tipe: Wajib. Jenis langkah. Nilai choice menentukan langkah pilihan.
nama: Wajib. Nama langkah.
pilihan: Wajib. Beberapa pilihan bertipe array. Setiap elemen sesuai dengan satu pilihan.
kondisi: Wajib. Ekspresi kondisional. Ekspresi kondisional merujuk pada input langkah berdasarkan JSONPath (
$.key).langkah-langkah: Opsional. Beberapa langkah serial yang didefinisikan untuk sebuah pilihan.
goto: Opsional. Nama langkah target, yang harus sejajar dengan langkah pilihan.
default: Wajib. Default.
langkah-langkah: Opsional. Beberapa langkah serial yang didefinisikan untuk default.
goto: Opsional. Nama langkah target, yang harus sejajar dengan langkah pilihan saat ini.
end: Opsional. Menentukan apakah akan melanjutkan ke langkah-langkah berikutnya setelah langkah saat ini berakhir.
inputMappings: Opsional. Pemetaan input.
outputMappings: Opsional. Pemetaan output.
$localdari langkah ini menunjukkan hasil eksekusi cabang pilihan.CatatanJika tidak ada pemetaan output yang ditentukan,
$localdigunakan sebagai output langkah ini secara default.
Contoh
Alur kerja sampel berikut mendefinisikan langkah pilihan.
Jika nilai
statusdalam input adalahready, langkahpass1,pass3, danfinaldari pilihan pertama dijalankan secara berurutan.Jika nilai
statusdalam input adalahfailed, instruksi goto dari pilihan kedua dijalankan, langkah pilihan berakhir, dan langkahfinaldijalankan.Jika nilai
statusdalam input bukanreadyataufailed, default dijalankan. Dengan kata lain, langkahpass2danfinaldijalankan.
version: v1
type: flow
steps:
- type: choice
name: mychoice
choices:
- condition: $.status == "ready"
# choice with steps
steps:
- type: pass
name: pass1
- condition: $.status == "failed"
# choice with goto
goto: final
default:
# choice with both steps and goto
steps:
- type: pass
name: pass2
goto: final
- type: pass
name: pass3
- type: pass
name: final Ekspresi Kondisional
Ekspresi kondisional terdiri dari operasi dan variabel berikut:
Operasi perbandingan:
>,>=,<,<=,==,!=. Mereka berlaku untuk string dan angka.Operasi logika:
||,&&.Konstanta string: Konstanta string diapit oleh tanda kutip ganda (") atau aksen grave (`). Contoh: "foobar" atau `foobar`.
Konstanta numerik:
1,12.5.Konstanta Boolean:
trueataufalse.Awalan:
!,-.Mengandung:
in, yang digunakan untuk menentukan apakah array berisi nilai tertentu atau apakah objek berisi nilai kunci.
Contoh berikut menunjukkan hasil eksekusi langkah-langkah untuk ekspresi kondisional yang berbeda.
{
"a": 1,
"b": {
"b1": true,
"b2": "ready"
},
"c": [1, 2, 3],
"d": 1,
"e": 1,
"f": {
"f1": false,
"f2": "inprogress"
}
} Ekspresi Kondisional | Hasil |
| true |
| false |
| true |
| true |
| true |
| true |
| true |
| true |
| false |
| true |
| true |
| false |
| true |
| true |
| false |
| true |
| true |
| true |