Lewati ke konten

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.

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.

Sebuah ruang bernama, khusus untuk eksekusinya:

  • Atur variabel menulis sebuah nilai;
  • Ambil variabel membacanya kembali;
  • sebuah nilai bertipe variable membacanya secara langsung, di kolom mana pun;
  • {{nama}} membacanya di dalam sebuah templat (Transform template, Map);
  • objek vars membacanya 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.

  • 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.

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.

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.

--param menerima teks; Restorm mengonversinya menurut tipe yang dideklarasikan untuk parameter itu:

Tipe yang dideklarasikanYang Anda berikan
Numerik--param Seuil=42
Boolean--param Actif=true (1, yes, on juga diterima)
Date mathSebuah tanggal, atau tanda waktu epoch
DaftarJSON: --param Ids='[1,2,3]'
EnumerasiNilainya, divalidasi terhadap himpunan yang diizinkan
Daftar kustomLabelnya, yang dikonversi menjadi nilai (RougeFF0000)
LingkunganSebuah nama atau pengenal lingkungan
SelebihnyaString mentahnya

Konversi yang tidak mungkin dilakukan akan menggagalkan peluncurannya dengan pesan yang jelas, alih-alih menjalankannya dengan nilai yang keliru.