How to write a workflow with modifiers?
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Modifiers
Workflow modifiers define the behaviors of a workflow.
Construct | Modifier | Domain | Description | Default | |||||
---|---|---|---|---|---|---|---|---|---|
Workflow |
| ||||||||
| |||||||||
Limit | -1..n | The maximum number of workflow instances of the same model waiting at any given time (they are pre-created instances existing in the buffer) | 10 | ||||||
Live | -1..n | The maximum number of workflow instances of the same model allowed to run (in parallel) at the same time. (For example, a workflow receives inputs of X value and Y value and calculates X+Y=Z. When the first X and Y values are received, a workflow instance starts the process of calculation. While the calculation is taking 1 second to complete, a new set of X and Y values are received before the current instance is completed. Therefore a new workflow instance will start calculating X+Y from the new values. These two instances are running in parallel | 10 | ||||||
Timeout | -1..n | The period of time of inactivity after which a workflow instance is considered dead and removed from the buffer. Both XSD time period format and plain number of milliseconds are allowed. Timeout = "-1" means the workflow will never time out. | PT1M | ||||||
Task |
| ||||||||
While | true, false | Logical expression for repeatable tasks (only true/false is currently supported) (if false use variable not streams) | false | ||||||
| |||||||||
Invoke |
| ||||||||
SkipIf (skip-if) | true, false | A logical expression to skip the invoke execution (mutually exclusive with OnlyIf) - the output will be nullNull
get = "[%:[:AA:].URL.Value:%]/cgi-bin/decoder_control.cgi?[:UP:][%:amp:%]command=15[%:amp:%]sit=[%:[:AD:].Preset.Value:%]" /> | |||||||
OnlyIf (only-if) | true, false | A logical expression to execute invoke conditionally (mutually exclusive with SkipIf) | |||||||
Delay | Duration | Synonym forof DelayBefore (mutually exclusive with DelayUntil, Timeout)
get = "[%:[:AA:].URL.Value:%]/cgi-bin/video_snapshot.cgi?[:UP:]" /> | |||||||
DelayBefore | Duration | Invoke execution delay interval (delay before invoke starts executing) - Mutually exclusive with Timeout and DelayUntil | |||||||
DelayAfter | Duration | Time to wait after invoke is completed forbefore the next invoke in the same task to startstarts
get = "[%:[:AA:].URL.Value:%]/cgi-bin/decoder_control.cgi?[:UP:][%:amp:%]command=15[%:amp:%]sit=[%:[:AD:].Preset.Value:%]" /> | |||||||
DelayUntil | DateTime | Absolute invoke execution time (Mutually exclusive with DelayBefore and Timeout) | |||||||
Get | URI | ||||||||
Post | URI | ||||||||
Put | URI | ||||||||
Delete | URI | ||||||||
WaitFor | A logical expression of possibly multiple outputs/events | Timeout | Duration | Invoke type dependent hint. Different invoke types may interpret it differently (Mutually exclusive with Delay and DelayUntil) - only relevant if handler understands it, maybe not be in use currently (synonym of delay), use delay instead The output(s)/event(s) that will allow the Invoke to continue. Until the WaitFor is met, the Invoke will be suspended
get = "[%:[:AA:].URL.Value:%]/cgi-bin/video_snapshot.cgi?[:UP:]" /> | |||||
Unless | Name of the Output from another task | Delay termination output/event. | Usually used with timeout/delaydelay. The output/event will terminate the delay and start the Invoke. This can be an event or the output from another task. |