Pipeline Variable Management
Applicable Scenarios
- Understand the complete flow of variables from configuration to runtime
- Modify variable initialization, storage, inheritance, or update logic
- Extend variable fields, variable types, or model conversion
- Troubleshoot variable passing, scope, or compatibility issues
Inapplicable Scenarios
- Only modifying pipeline templates or YAML structure
- Only modifying plugin definitions, without involving the variable main chain
- Only handling ordinary frontend form display
Quick Guidance
- This skill focuses on "how variables are defined, persisted, passed, and evolved," not general parameter usage instructions.
- Variable issues are usually divided into two categories:
- Lifecycle and runtime flow:
reference/1-lifecycle.md
- Field extension and model conversion:
reference/2-extension.md
- When troubleshooting variable issues, first determine whether it is a definition-time issue or a build runtime issue.
- When changing fields, look at the internal model, YAML model, converters, and compatibility at the same time.
- If variable changes affect the pipeline model or YAML input/output, then also look at
pipeline-model-architecture and yaml-pipeline-transfer。
High-Signal Rules
- Variables are both configuration data and part of runtime state
- The lifecycle chain and the field extension chain are often mixed together; separate them first when troubleshooting
- A new field is not just adding a model class; conversion, frontend/backend, and historical data must also be considered
Key Pitfalls
- Misjudging a runtime variable issue as a model field issue
- Changing only one model without changing the converter or compatibility logic
- Verifying only new builds without verifying historical data and old pipelines
Further Reading
- Lifecycle and runtime flow:
reference/1-lifecycle.md
- Field extension and model conversion:
reference/2-extension.md
- If you are modifying the pipeline model: also look at
pipeline-model-architecture
- If you are modifying YAML conversion: also look at
yaml-pipeline-transfer