loop¶
Repeat actions multiple times or iterate over a list of values.
Usage Examples¶
Counter-Based Loop
actions:
- loop:
times: 5
description: "Create 5 numbered files"
actions:
- command:
command: "echo 'File {{index}}' > /tmp/file_{{index}}.txt"
shell: true
List Iteration
variables:
filenames:
type: list
value: ["alpha.txt", "beta.txt", "gamma.txt"]
actions:
- loop:
items: "{{filenames}}"
description: "Process each filename"
actions:
- command:
command: "touch /tmp/{{item}}"
shell: true
Custom Item Variable
actions:
- loop:
items: "{{file_list}}"
item_var: filename
actions:
- pull:
src: "/tmp/{{filename}}"
dst: "{{filename}}"
Parameters¶
Parameter |
Type |
Description |
|---|---|---|
|
list |
Actions to execute each iteration (required) |
|
integer |
Number of times to repeat (mutually exclusive with |
|
list/string |
List to iterate over (mutually exclusive with |
|
string |
Custom variable name for current item (default: |
|
string |
Human-readable description (optional) |
Loop Variables¶
Automatic variables available in loop actions:
{{index}}: Current iteration number (0-based){{total}}: Total number of iterations{{item}}: Current list item (or custom name viaitem_var)
Notes¶
Exactly one of
timesoritemsmust be specifiedVariables created in loop iterations persist to parent scope
Use
continueaction to skip remaining actions in current iterationA failing action or test stops the loop at that iteration; the run summary reports how many iterations completed
Run Summary¶
Everything a loop executes is counted in the closing run summary, including the
test: entries inside the body. A ten-iteration loop with four assertions per
iteration reports all forty of them, and the nesting is shown so the structure of
the run stays readable:
📊 Actions: 134/134 passed (4 top-level + 130 in a loop of 10 iterations)
🧪 Tests: 41/41 passed (1 top-level + 40 in a loop of 10 iterations)
The totals are recomputed from the run’s persisted events (action_events and
test_events in the project database), so they match what a query against the
database reports. A failed assertion in any iteration is counted as a failure and
the run summary is red, even when the surrounding top-level actions all succeeded.
See Also¶
continue for skipping iterations
block for grouping actions
save_variable for accumulating values across iterations