Set a precondition on a task
The execution flow can be controlled by setting a precondition on a task. A precondition is an
if statement for tasks, written in Jython script code.
If the precondition evaluates to True, the task is started. If the precondition evaluates to False, the task is skipped. If an exception is raised or a compilation error occurs when Release is evaluating the precondition script, the task is failed. The script can be fixed and execute with retry the task.
There are two ways to writing preconditions.
A Boolean expression is restricted to single statement script. For example:
releaseVariables['jobStatus'] == 'Success'
The task will only be started if the variable
jobStatus is equal to ‘Success’.
If a more complicated script is required, the result variable should be set. For example:
if releaseVariables['OS'] == 'Linux' and releaseVariables['pingResult'] == '0': result = True else: result = False
Precondition can be disabled on certain task types. For example, to disable a precondition on parallel groups, file
synthetic.xml should be modified as follows:
<type-modification type="xlrelease.ParallelGroup"> <property name="preconditionEnabled" kind="boolean" required="true" default="false" hidden="true" description="Whether preconditions should be enabled"/> </type-modification>