Expressions are of the form:
[NOT] job-id IS job-condition
And can be chained with AND and OR and nested with parenthesis. Examples are:
job1 is success not job1 is success job1 is success or ( job2 is success and job3 is success)
expression | The state expression to evaluate. |
Example 1 | Runs a job when two other jobs complete, but only if one of the jobs hasn't been run. |
Configured By | TEXT |
Access | READ_WRITE |
Required | Yes. |
The state expression to evaluate.
Runs a job when two other jobs complete, but only if one of the jobs hasn't been run.
<oddjob> <job> <sequential> <jobs> <events:when id="when" xmlns:events="oddjob:events"> <jobs> <events:watch name="Watch Jobs 1 and 2"> <eventSource> <state:watch xmlns:state="http://rgordon.co.uk/oddjob/state"> job1 is COMPLETE AND job2 is COMPLETE </state:watch> </eventSource> </events:watch> <state:if xmlns:state="http://rgordon.co.uk/oddjob/state"> <jobs> <sequential> <jobs> <state:evaluate id="check-job3" name="Is Job 3 Complete"> job3 is complete </state:evaluate> <check gt="${check-job3.evaluation.time}" value="${when.trigger.time}"/> </jobs> </sequential> <state:flag/> <run job="${job3}" name="Run Job 3"/> </jobs> </state:if> </jobs> </events:when> <folder> <jobs> <echo id="job1" name="Job 1"> Hello </echo> <echo id="job2" name="Job 2"> World </echo> <echo id="job3" name="Job 3"> It's Done! </echo> </jobs> </folder> </jobs> </sequential> </job> </oddjob>