Property description

The while stream repeatedly executes its subStream until either a fixed number of repetitions is reached or no new objects are added to the working set during a cycle. Use this to propagate changes through object hierarchies of unknown depth.

Warning

The maximum number of iterations is 100. The subStream cannot contain another while step.

Minimal JSON

{
    "key": "",
    "type": "while",
    "subStream": []
}

The following example propagates a flag up the object hierarchy, selecting each parent and excluding objects of a specific type via a logical formula, repeating until no new parents are found:

{
    "key": "propagate_up",
    "type": "while",
    "subStream": [
        {
            "key": "select_parent",
            "type": "selectParent",
            "keepCurrent": true
        },
        {
            "key": "filter",
            "type": "logicalFormula",
            "operator": "and",
            "clauses": [
                {
                    "type": "objectTypeFilter",
                    "objectTypeKeys": ["packageKey#object_type"],
                    "operand": "notIn"
                }
            ]
        }
    ]
}

Nested properties

PropertyDescriptionValuesMandatory
keyUnique key of the stream.stringYes
typewhilestringYes
subStreamList of stream steps to execute in each iteration. Cannot contain another while step.arrayYes
repeatsNumber of times the substream executes. If not specified, the substream repeats until no new objects are added to the working set, up to a maximum of 100 iterations. Must be a positive number between 1 and 100.integerNo