The Flow Items API defines how to create, remove and iterate over uniquely identified objects stored in the currently executing Flow's state called items.
Valves that support item iteration is executed on each item surviving item filtering.
Common configuration
These configuration properties applies to all valves that support item iteration
Name
Description
item_include_expr
Predicate expression for controlling if an item should be included in iteration ("item filtering").
To control which items that are included in iteration you can enable item filtering. Filtering is based on a predicate expression (a boolean expression that returns true or false) deciding if the current item should be included or not.
The actual filter is an ECMA-script (JavaScript) that MUST evaluate to true, false or a function returning true or false.
// Skip all items
"item_include_expr": "false"
// Include items with property "mobile"
"item_include_expr": "item.mobile != null"
During expression evaluation data is made available in scopes. A scope is a map (i.e key-values or hash) where values are accessed using a name and plain dot notation.
The following scopes are available:
Name
Description
item
The current item. All item properties are multi-value except for id.
// Get id of current item
item.id
// Get first value of item property displayName
// Note: item properties are multivalue
item.displayname[0]
// or
item.displayname
// Get id of current session
session.id
// Get first value of multivalue "roles" stored in session
session.roles[0]
// Get value "otp" from state set by previous valve
state.otp