Variabel dan data di dalam skenario
Sebuah skenario memiliki tiga mekanisme untuk menyirkulasikan data. Ketiganya saling melengkapi, dan mengetahui mana yang harus dipilih menghemat banyak penyambungan yang tidak perlu.
1. Token pada sambungan
Section titled “1. Token pada sambungan”Mekanisme utamanya: sebuah kotak menghasilkan nilai, nilai itu berjalan di sambungannya, mungkin dibentuk ulang oleh sebuah selektor, lalu tiba di masukan kotak berikutnya.
Cara ini eksplisit dan mudah dibaca: aliran datanya adalah gambarnya.
Gunakan untuk segala hal yang bersifat lokal — hasil sebuah panggilan yang dikonsumsi panggilan berikutnya.
2. Variabel run
Section titled “2. Variabel run”Sebuah ruang bernama, khusus untuk eksekusinya:
- Atur variabel menulis sebuah nilai;
- Ambil variabel membacanya kembali;
- sebuah nilai bertipe
variablemembacanya secara langsung, di kolom mana pun; {{nama}}membacanya di dalam sebuah templat (Transform template, Map);- objek
varsmembacanya di dalam sebuah aksi kode; - Tambahkan ke daftar dan Hapus dari daftar dapat menulis langsung ke variabel sumbernya.
Sebuah variabel run menutupi lingkungan selama eksekusi berlangsung: sebuah
permintaan yang memakai {{token}} akan mengambil token yang ditetapkan
skenarionya alih-alih token milik lingkungannya.
Gunakan untuk hal yang bersifat global bagi eksekusinya: sebuah token, sebuah pengenal korelasi, sebuah pencacah — alih-alih menarik sebuah sambungan melintasi seluruh graf.
3. Parameter dan keluaran
Section titled “3. Parameter dan keluaran”-
Kotak Input / Param mendeklarasikan satu atau beberapa parameter bernama, masing-masing dengan tipenya. Kotak itu memancarkan satu objek tunggal
{ nama: nilai, … }.Nilainya berasal, menurut urutan: dari peluncurannya (antarmuka atau MCP), dari baris perintah (
--param nama=nilai), atau dari sebuah permintaan interaktif jika skenarionya mencapai kotak itu tanpa nilai yang tersedia. -
Kotak Output / Return mengekspos sebuah hasil bernama kepada pemanggilnya. Sebuah skenario yang dipanggil oleh aksi Jalankan skenario membuat keluarannya terlihat pada port
output:<nama>milik pemanggilnya.
Inilah yang memungkinkan komposisi: sebuah skenario “masuk” yang mengembalikan token, lalu dipakai ulang oleh skenario lainnya.
Lingkungan
Section titled “Lingkungan”Sebuah aksi permintaan memiliki port env: menyambungkan sebuah lingkungan ke
sana (nilai bertipe environment, atau nama lingkungan) akan menjalankan
panggilannya di lingkungan tersebut.
Inilah cara menjalankan skenario yang sama terhadap staging lalu production
tanpa menggandakan apa pun — cukup berikan lingkungannya sebagai parameter
skenario.
Resolusi dalam mode headless
Section titled “Resolusi dalam mode headless”Semua nilai bertipe diselesaikan dengan cara yang sama di dalam antarmuka maupun tanpa jendela: daftar kustom, enumerasi, pratinjau lingkungan. Skenario yang berhasil di antarmuka juga berhasil di CI.
Nama lingkungan yang ambigu (dua lingkungan bernama sama) menimbulkan galat yang jelas: berikan pengenalnya dalam kasus itu.
Konversi parameter di baris perintah
Section titled “Konversi parameter di baris perintah”--param menerima teks; Restorm mengonversinya menurut tipe yang
dideklarasikan untuk parameter itu:
| Tipe yang dideklarasikan | Yang Anda berikan |
|---|---|
| Numerik | --param Seuil=42 |
| Boolean | --param Actif=true (1, yes, on juga diterima) |
| Date math | Sebuah tanggal, atau tanda waktu epoch |
| Daftar | JSON: --param Ids='[1,2,3]' |
| Enumerasi | Nilainya, divalidasi terhadap himpunan yang diizinkan |
| Daftar kustom | Labelnya, yang dikonversi menjadi nilai (Rouge → FF0000) |
| Lingkungan | Sebuah nama atau pengenal lingkungan |
| Selebihnya | String mentahnya |
Konversi yang tidak mungkin dilakukan akan menggagalkan peluncurannya dengan pesan yang jelas, alih-alih menjalankannya dengan nilai yang keliru.