Trigger objects monitor event triggers that plug-ins define. For example, the vCenter Server plug-in defines these events as Task objects. When the task ends, the trigger sends a message to a waiting trigger-based long-running workflow element, to restart the workflow.
The time-consuming event for which a trigger-based long-running workflow waits must return a VC:Task object. For example, the startVM action to start a virtual machine returns a VC:Task object, so that subsequent elements in a workflow can monitor its progress. A trigger-based long-running workflow trigger event requires this VC:Task object as an input parameter.
- Create a workflow.
- Open the workflow for editing in the workflow editor.
- Add some elements to the workflow schema.
- In the workflow, declare a VC:Task object as a variable or input parameter, such as a VC:Task object from a workflow or workflow element that starts or clones a virtual machine.
- Drag a Scriptable task element from the Generic menu in the left pane to the workflow schema.
One of the elements that precedes the Scriptable task must generate a VC:Task object as its output parameter.
- Click the Scriptable task element.
- Enter a name and description for the trigger in the Details properties tab in the right pane.
- Click the Inputs/Outputs tab.
- Select or create an input variable of the type VC:Task.
This VC:Task object represents the time-consuming event that another workflow or element starts.
- (Optional) Select or create an input parameter of the Number type to define a timeout period in seconds.
- Create an output parameter with the following properties.
- Create the Name property with the value trigger.
- Create the Type property with the value Trigger.
- Click Create.
- Define any exception behavior in the Exception handling menu.
- On the Scripting tab, define a function to generate a Trigger object.
trigger = task.createEndOfTaskTrigger(timeout);
The createEndOfTaskTrigger() method returns a Trigger object that monitors a VC:Task object named task.
- Click Save and confirm your selection.
You defined a workflow element that creates a trigger event for a trigger-based long-running workflow. The trigger element generates a Trigger object as its output parameter, to which a Waiting Event element can bind.
What to do next
You must bind this trigger event to a Waiting Event element in a trigger-based long-running workflow.