Biến và dữ liệu trong một kịch bản
Một kịch bản có ba cơ chế để làm dữ liệu lưu chuyển. Chúng bổ sung cho nhau, và việc biết chọn cơ chế nào giúp bạn tránh được rất nhiều dây nối vô ích.
1. Các token trên liên kết
Section titled “1. Các token trên liên kết”Đây là cơ chế chính: một chiếc hộp tạo ra một giá trị, giá trị đó đi trên liên kết, có thể được một bộ chọn nhào nặn lại, rồi tới đầu vào của chiếc hộp tiếp theo.
Cách này tường minh và dễ đọc: luồng dữ liệu chính là hình vẽ.
Hãy dùng nó cho mọi thứ mang tính cục bộ — kết quả của một lời gọi được lời gọi kế tiếp tiêu thụ.
2. Biến của lần chạy
Section titled “2. Biến của lần chạy”Một không gian có tên, riêng cho lần chạy:
- Đặt biến ghi một giá trị;
- Lấy biến đọc lại nó;
- một giá trị kiểu
variableđọc nó ngay tại chỗ, trong bất kỳ trường nào; {{nom}}đọc nó trong một mẫu (Transform template, Map);- đối tượng
varsđọc nó trong một hành động mã; - Thêm vào danh sách và Xóa khỏi danh sách có thể ghi thẳng vào biến nguồn.
Một biến của lần chạy sẽ phủ lên môi trường trong suốt thời gian thực thi:
một yêu cầu dùng {{token}} sẽ lấy token do kịch bản đặt ra thay vì token của
môi trường.
Hãy dùng nó cho những gì mang tính toàn cục với lần chạy: một token, một định danh tương quan, một bộ đếm — thay vì kéo một liên kết xuyên suốt cả đồ thị.
3. Tham số và đầu ra
Section titled “3. Tham số và đầu ra”-
Chiếc hộp Input / Param khai báo một hoặc nhiều tham số có tên, mỗi tham số có kiểu riêng. Nó phát ra một đối tượng duy nhất
{ nom: valeur, … }.Các giá trị đến, theo thứ tự: từ lúc khởi chạy (giao diện hoặc MCP), từ dòng lệnh (
--param nom=valeur), hoặc từ một lời hỏi tương tác nếu kịch bản chạy tới chiếc hộp mà chưa có giá trị nào. -
Chiếc hộp Output / Return phơi ra một kết quả có tên cho bên gọi. Một kịch bản được gọi bởi một hành động Chạy kịch bản sẽ khiến các đầu ra của nó hiện ra trên cổng
output:<nom>của bên gọi.
Đây là thứ cho phép tổ hợp: một kịch bản “đăng nhập” trả về một token, rồi được những kịch bản khác tái sử dụng.
Môi trường
Section titled “Môi trường”Một hành động yêu cầu có một cổng env: đấu vào đó một môi trường (giá trị kiểu
environment, hoặc tên môi trường) sẽ khiến lời gọi chạy trong môi trường đó.
Đây là cách cho cùng một kịch bản chạy lần lượt trên staging rồi production
mà không phải nhân bản bất cứ thứ gì — hãy truyền môi trường như một tham số của
kịch bản.
Việc giải quyết ở chế độ headless
Section titled “Việc giải quyết ở chế độ headless”Mọi giá trị có kiểu đều được giải quyết theo cùng một cách trong giao diện và khi không có cửa sổ: danh sách tùy chỉnh, kiểu liệt kê, bản xem trước của môi trường. Một kịch bản chạy được trong giao diện thì cũng chạy được trong CI.
Một tên môi trường nhập nhằng (hai môi trường trùng tên) sẽ gây ra một lỗi rõ ràng: khi đó hãy truyền định danh.
Chuyển đổi tham số trên dòng lệnh
Section titled “Chuyển đổi tham số trên dòng lệnh”--param nhận vào văn bản; Restorm chuyển đổi nó theo kiểu đã khai báo của
tham số:
| Kiểu đã khai báo | Bạn truyền vào gì |
|---|---|
| Số | --param Seuil=42 |
| Boolean | --param Actif=true (1, yes, on đều được chấp nhận) |
| Phép tính ngày | Một ngày, hoặc một dấu thời gian epoch |
| Danh sách | JSON: --param Ids='[1,2,3]' |
| Kiểu liệt kê | Giá trị, được kiểm tra đối chiếu với tập cho phép |
| Danh sách tùy chỉnh | Nhãn, được chuyển thành giá trị (Rouge → FF0000) |
| Môi trường | Một tên hoặc một định danh môi trường |
| Còn lại | Chuỗi thô |
Một phép chuyển đổi không thực hiện được sẽ làm lần khởi chạy thất bại kèm một thông báo rõ ràng, thay vì chạy với một giá trị sai.