Giao diện
@digiforce-nc/plugin-workflow-variable
Plugin đăng ký node lưu biến tạm trong workflow context, mở rộng plugin-workflow. Cho phép gán, cập nhật, và quản lý biến tạm thời trong suốt quá trình thực thi workflow.
Plugin này làm gì?
Node Variable cho phép tạo hoặc cập nhật biến trong workflow context. Biến có thể là giá trị cố định, kết quả biểu thức, hoặc copy từ biến khác. Các node phía sau có thể tham chiếu biến này để sử dụng trong logic xử lý.
Biến tạm tồn tại trong suốt vòng đời của một execution (lần chạy) workflow. Khi workflow kết thúc, biến tạm bị xóa. Nếu cần lưu trữ vĩnh viễn, sử dụng node Create/Update Record.
Cấu hình
| Tham số | Kiểu | Mô tả |
|---|---|---|
variableName | string | Tên biến cần tạo/cập nhật |
value | any | Giá trị gán (hằng số, biểu thức, hoặc tham chiếu biến) |
type | string | Kiểu dữ liệu: string, number, boolean, object, array |
operation | string | Phép gán: set (ghi đè), append (thêm vào array), merge (gộp object) |
Input / Output
| Hướng | Dữ liệu | Mô tả |
|---|---|---|
| Input | value | Giá trị cần gán (có thể là biểu thức tham chiếu biến khác) |
| Input | variableName | Tên biến đích |
| Output | biến mới/cập nhật | Biến được lưu trong workflow context |
Tính năng chính
| # | Tính năng | Chi tiết |
|---|---|---|
| 1 | Gán giá trị | Gán hằng số, biểu thức, hoặc copy biến |
| 2 | Nhiều kiểu dữ liệu | string, number, boolean, object, array |
| 3 | Append | Thêm phần tử vào mảng đã tồn tại |
| 4 | Merge | Gộp object mới vào object đã tồn tại |
| 5 | Tham chiếu biến | Giá trị mới lấy từ biến/kết quả node khác |
| 6 | Scope workflow | Biến tồn tại trong suốt vòng đời execution |
Trường hợp sử dụng
| # | Kịch bản | Mô tả |
|---|---|---|
| 1 | Lưu trạng thái | Gán biến approvalStatus = "pending" để track quy trình |
| 2 | Tích lũy kết quả | Append kết quả mỗi vòng loop vào mảng results |
| 3 | Counter | Tăng biến retryCount mỗi lần retry thất bại |
| 4 | Cache dữ liệu | Lưu response API vào biến để tránh gọi lại nhiều lần |
| 5 | Flag điều kiện | Set biến needsApproval = true để node sau kiểm tra |
So sánh các operation
| Operation | Kiểu đích | Hành vi | Ví dụ |
|---|---|---|---|
set | Bất kỳ | Ghi đè hoàn toàn | count = 5 |
append | Array | Thêm phần tử cuối | items.push(newItem) |
merge | Object | Shallow merge | config = ...config, ...newConfig |
Lưu ý quan trọng
- Tên biến phải unique trong workflow - trùng tên sẽ ghi đè giá trị cũ
- Biến tạm không persist qua Delay node nếu server restart (trừ khi workflow engine hỗ trợ serialization)
- Operation
appendyêu cầu biến đích phải là array - nếu không sẽ gây lỗi - Operation
mergeyêu cầu biến đích phải là object - shallow merge (không deep) - Biến từ Variable node khác với biến từ Trigger (trigger data) - cả hai đều truy cập được
Dependencies
| Package | Vai trò |
|---|---|
@digiforce-nc/plugin-workflow | Workflow engine (peer) |
@digiforce-nc/server | Server framework (peer) |