Upon flow execution each action handler gets access to shared context.
EJS template can be used inside options to pass values from shared context. Please refer to plugin documentation if this feature supported and what options are required.
Example:
version:1.0.0pipeline:plugin: # Pass "something" from "ctx"contextValue:<%- ctx.something %> # Pass "password" from "secrets"secretValue:<%- secrets.password %>
Assign non-secret values to context ctx field or its child properties by path. General use case: register shared non-sensitive options that later will be used by actions.
ID:com.fireblink.fbl.context.values
Aliases:
fbl.context.values
context.values
context
ctx
Example 1: Assign values to context root directly:
Example 2: Assign values from file "vars.yml" to field "vars -> files":
Example 3: Assign values from file "vars.yml" after inline ones:
Example 4: Override instead of assigning
Example 5: Push to array
Example 6: Find files by mask:
Action Handler: Secret Values Assignment
Same as above, but for secrets. All the options will me masked in report to prevent any security leakage.
ID:com.fireblink.fbl.secret.values
Aliases:
fbl.secret.values
secret.values
secrets
secret
Example 1: Assign values to secrets root directly:
Example 2: Assign values from file "vars.yml" to field "vars -> files":
Example 3: Assign values from file "vars.yml" after inline ones:
Example 4: Override instead of assigning
Example 5: Push to array
Example 6: Find files by mask:
Action Handler: Summary
Add summary record. All summary records will be printed once the main flow ends.
ctx:
# create hierarchy of objects: "files" inside "vars" that is inside "ctx"
$.vars:
files:
- vars.yml
ctx:
'$':
inline:
test: true
files:
- vars.yml
# specify that files have a priority over inline vars
# if not provided inline vars will have priority over files
priority: 'files'
ctx:
'$.test':
inline:
test: true
# [optional] override everything tha tis inside "test" object with { test: true }
# use with caution
override: true
ctx:
'$.test':
inline: 1
# [optional] override everything tha tis inside "test" object with { test: true }
# use with caution
override: true
# [required] if you want to push inline or value(s) from file(s) to targets array
push: true
# [optional] if enambled and value is array its child items will be pushed instead of array itself
children: false
ctx:
'$':
files:
- vars/*.yml
secrets:
'$':
inline:
something: true
else: false
secrets:
$.vars:
files:
- vars.yml
secrets:
'.':
inline:
test: true
files:
- vars.yml
# [optional] specify that files have a priority over inline vars
# if not provided inline vars will have priority over files
priority: 'files'
secrets:
'$.test':
inline:
test: true
# [optional] override everything tha tis inside "test" object with { test: true }
# use with caution
override: true
secrets:
'$.test':
inline: 1
# [optional] override everything tha tis inside "test" object with { test: true }
# use with caution
override: true
# [required] if you want to push inline or value(s) from file(s) to target's array
push: true
# [optional] if enambled and value is array its child items will be pushed instead of array itself
children: false
secrets:
'$':
files:
- vars/*.yml
summary:
# summary record title
title: Step Title
# summary record status
# statuses (ignoring case):
# - 'created', 'updated', 'passed', 'success', 'ok', 'yes' will be colored in green
# - 'deleted', 'failed', 'failure', 'error', 'no' - in red
# - 'ignored', 'skipped', 'none' - in yellow
# others will have default text color
status: Failed
# [optional] human readable duration (string)
duration: <%- $.duration(1000) %>
# [optional] additional data associated with record. Not presented in printed table.
payload: anything