message and passes it into a container command by referencing the template input parameter.
Example workflow:
- A top-level default parameter under
spec.argumentsnamedmessagewith the value"workflow arguments value". - A template called
cowsaythat declares an input parametermessage. - The container runs the
cowsaycommand and passes the parameter intoargsusing Argo parameter substitution:{{inputs.parameters.message}}.
When referencing parameters inside YAML template fields, use the substitution syntax exactly as shown: . Put the substitution inside quotes (for example, args: ) so the YAML parser treats it as a string and the braces are handled correctly.
| Field | Purpose | Example |
|---|---|---|
| spec.arguments | Workflow-level default parameter values; can be overridden at submit time | - name: message value: "workflow arguments value" |
| templates[].inputs.parameters | Declare parameters a template expects | - name: message |
| template container args / command | Use parameter substitution to pass values into the container | args: ["{{inputs.parameters.message}}"] |
- Submit the workflow and override a single parameter from the CLI:
- Submit the workflow using a parameter file (YAML or JSON). Example
params.yamlcontent:
- Invoke a different template (entrypoint) in the same workflow without editing the workflow YAML by using
--entrypoint:
- Combine entrypoint override and custom parameters:
--entrypoint with -p (or --parameter-file), you can call any template in your workflow and supply or override any parameter values at submission time.
Always quote substitutions and parameter values when they include spaces or
characters that YAML/CLI might interpret (for example,
-p message="Hello, world!"). Unquoted braces or special characters may cause parsing errors.