Page History
Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Introduction
Display feature availability | ||
---|---|---|
|
The JITL CheckHistoryJob template can be used to check past executions of workflows and jobs.
- The job template makes use of the JS7 - REST Web Service API to retrieve information from the JS7 - History. Operation of the job template requires
- network access from the Agent that executes the job to the JOC Cockpit instance,
- availability of the Controller and of JOC Cockpit, authentication and authorization with JOC Cockpit.
- The job template authenticates with the JS7 - REST Web Service API by use of user account/password and/or by use of a certificate, for details see JS7 - Authentication.
- For details about configuration items see JS7 - JITL Common Authentication.
- The The job template checks the execution history of workflows and jobs
- for execution with a start date or completion date in the given period,
- for successful or failed execution results.
...
You can use the job wizard like this:
Explanation:
- Add an empty job from the instruction panel.
- Specify a name and a label for the job.
- Select an Agent.
...
- the history status of orders or jobs:
- completed: the order or job completed successfully or failed.
- completed successful
- completed failed
- the period for which the execution history is looked up for orders and jobs that
- started between two dates
- completed between two dates
- with periods being specified as absolute or relative dates
...
Syntax
Queries are specified from a function and optional arguments.
Functions
Syntax | Explanation |
---|---|
<function> | Functions can be used without arguments by stating exclusively the name of the function. |
<function>( argument[, argument] ) | Functions can optionally be specified with one or more arguments that are separated by commas. |
Functions
Function | Arguments | Default | Explanation | |||
---|---|---|---|---|---|---|
isStarted | startedFrom, startedTo, count | startedFrom | isStarted | startedFrom, startedTo, count | startedFrom=0d, startedTo=0d, count=1count>0 |
|
isCompleted | startedFrom, startedTo, completedFrom, completedTo, count | completedFrom=0d, completedTo=0d, count=1count>0 |
| |||
isCompletedSuccessful | startedFrom, startedTo, completedFrom, completedTo, count | completedFrom=0d, completedTo=0d, count=1count>0 |
| |||
isCompletedFailed | startedFrom, startedTo, completedFrom, completedTo, count | completedFrom=0d, completedTo=0d, count=1count>0 |
| |||
lastCompletedSuccessful | startedFrom, startedTo, completedFrom, completedTo, count | completedFrom=0d, completedTo=0d, count=1 count>0 |
| |||
lastCompletedFailed | startedFrom, startedTo, completedFrom, completedTo, count | completedFrom=0d, completedTo=0d, count=1count>0 |
| |||
lastCompletedSuccessful |
| completedFrom=0d, completedTo=0d, count=1 |
|
Arguments
Arguments
Argument | Default | Explanation |
---|---|---|
startedFrom | 0d | The workflow or job started after the given date. |
startedTo | 0d |
startedFrom
0d
The workflow or job started |
before the given date. |
startedTo
completedFrom | 0d | The workflow or job |
completed after the given date. |
completedFrom
completedTo | 0d | The workflow or job completed |
before the given date. |
completedTo
count |
0d
count>0 | Count is used with an operator. The |
count
1
number of history items that is expected to be returned for the given period. By default |
at least one history item is expected ( |
not correspond to the number of history items returned. |
Syntax
...
Values for operator: =, <=, <, >, >= Example count > 10 ==> The CheckHistoryJob will fail if the number of history entries is not greater then 10 |
Absolute Dates
Absolute date can be specified as values to the startedFrom
Absolute Dates
Absolute date can be specified as values to the startedFrom
, startedTo
, completedFrom
and completedTo
arguments.
...
2021-12-05
- The date is specified as yyyy-MM-dd
- The time is assumed to be midnight UTC time.
20122021-12-05T01:30:15
- The date and time are separated by the
T
character. - The time is specified as hh:mm:ss.
- The time zone is assumed to be UTC.
- The date and time are separated by the
20122021-12-05T01:00:00+02:00
- In addition to date and time the time zone offset is specified. A + character specifies a positive offset to UTC time, a - character specifies a negative offset.
...
Example | Explanation |
---|---|
isStarted | Specifies that the workflow or job started today. |
isCompleted | Specifies that the workflow or job completed today independently from its start date. |
isCompletedSuccessful | Specifies that the workflow or job completed successfully today independently from its start date. |
isCompletedFailed | Specifies that the workflow or job failed today independently from its start date. |
isCompleted( startedFrom=0d ) | Specifies that the workflow or job started today and completed today. It is not considered if the workflow or job completed successfully or failed. |
isCompletedSuccessful( startedFrom=0d ) | Specifies that the workflow or job started today and completed successfully today. |
isCompletedFailed( startedFrom=0d ) | Specifies that the workflow or job started today and failed today. |
isStarted( startedFrom=20222021-0512-05T01:00:00+02:00 ) | Specifies that the workflow or job started after the given point in time. |
isCompletedSuccesfulisCompletedSuccessful( startedFrom=20222021-0512-05T01:00:00+02:00 ) | Specifies that the workflow or job started after the given point in time and completed successfully. |
isCompletedFailed( startedFrom=20222021-0512-05T01:00:00+02:00 ) | Specifies that the workflow or job started after the given point in time and failed. |
isCompleted( completedFrom=20222021-0512-05T01:00:00+02:00 ) | Specifies that the workflow or job completed after the given point in time. |
isCompletedSuccessful( completedFrom=20222021-0512-05T01:00:00+02:00 ) | Specifies that the workflow or job completed successfully after the given point in time. |
isCompletedFailed( completedFrom=20222021-0512-05T01:00:00+02:00 ) | Specifies that the workflow or job failed after the given point in time. |
isCompleted( completedFrom=20002021-0512-05T01:00:00.000Z, completedTo=2022-05-05T01:00:00+02:00 ) | Specifies that the workflow or job completed before the given point in time. |
isCompletedSuccesfulisCompletedSuccessful( copmletedFromcompletedFrom=20002021-0512-05T0103T01:00:00+02:00.000Z, completedTo=20222021-0512-05T01:00:00+02:00 ) | Specifies that the workflow or job completed successfully before the given point in time. |
isCompletedFailed( completedFrom=20002021-0512-05T0104T01:00:00+02:00, completedTo=2022-0512-05T01:00:00+02:00 ) | Specifies that the workflow or job failed before the given point in time. |
lastCompletedSuccessful | Specifies that the last run of the workflow or job completed successfully. |
lastCompletedFailed | Specifies that the last run of the workflow or job failed. |
lastCompletedSuccessful( startedFrom=-11d, startedTo=-1d ) | Specifies that the last run of the workflow or job started and completed successfully in the given periodperiod and completed successfully today. |
lastCompletedFailed( startedFrom=-11d, startedTo=-1d ) | Specifies that the last run of the workflow or job started and failed in the given period and failed today. |
lastCompletedSuccessful( completedFrom=-11d, completedTo=-1d ) | Specifies that the last run of the workflow or job completed successfully in the given period. |
lastCompletedFailed( completedFrom=-11d, completedTo=-1d ) | Specifies that the last run of the job failed in the given period. |
...
The Job Documentation including the full list of arguments can be found underfrom: https://www.sos-berlin.com/doc/JS7-JITL/CheckHistoryJob.xml
Anchor | ||||
---|---|---|---|---|
|
The CheckHistoryJob template accepts the following arguments:
Name | Required | Default Value | Purpose |
---|---|---|---|
query | yes | n/a | Specifies the expression that is used to look up the execution history, for example isCompleted, isCompletedSuccessful etc., for the full list see Queries. |
| no | n/a | Specifies the name of a workflow for which the execution history is looked up. A |
job | no | n/a | Specifies the name of a job for which the execution history is looked up. A workflow name or job name has to be specified. |
controller_id | no | n/a | The identifier of a Controller can be specified to limit results to workflows and jobs executed with the indicated Controller. |
Anchor | ||||
---|---|---|---|---|
|
The CheckHistoryJob template returns the following variables:
Return Variable | Data TypeData Type | Purpose | Example | ||
---|---|---|---|---|---|
js7CheckHistoryResult | Boolean | Returns the Boolean result of the query. | true, false | ||
| String | Returns the Controller ID of the resulting history entry. The value of the return variable is empty if the query returns no result. If the query returns a result then the return variable holds the Controller ID of the youngest resulting history entry. | controller | ||
js7CheckHistoryAnswerWorkflow js7CheckHistoryResultWorkflow | String | Returns the workflow name of the resulting history entry. The value of the return variable is empty if the query returns no result. | check_history | ||
js7CheckHistoryAnswerStarted js7CheckHistoryResultJob | DateString | Returns the start date and time job name of the resulting history entry. The value of the return variable is empty if the query returns no result. | 2012check-12-05T01:00:00+02:00 history-job | ||
js7CheckHistoryResultStarted js7CheckHistoryAnswerCompleted | Date | Returns the completion start date and time of the resulting history entry. The value of the return variable is empty if the query returns no result. If the query returns a result then the return variable contains holds the completion start date and time of the youngest resulting history entry in ISO-8601 format. | 2012-12-05T01:00:00+02:00 | ||
js7CheckHistoryQuery js7CheckHistoryResultCompleted | StringDate | Returns the value completion date and time of the The value of the | 2012-12-05T01:00:00+02:00 | ||
js7CheckHistoryQuery | isStarted | js7CheckHistoryWorkflow | String | Returns the value of the Returns a copy of the value of the | accounting isStarted |
js7CheckHistoryJob
| String | Returns the value of the Returns a copy of the value of the | my-job controller | ||
js7CheckHistoryResultString js7CheckHistoryQueryWorkflow | String | Returns the resulting information from a string like this:the value of the Returns a copy of the value of the | accounting | ||
js7CheckHistoryQueryJob | String | Returns the value of the Returns a copy of the value of the | my-job
( my-job ) ==> true |
Job Dependencies
The CheckHistoryJob template can be used to implement backward job dependencies TODOdependencies:
- Jobs based on the CheckHistoryJob template do not fail if the underlying query does not return results.
- Instead, the CheckHistoryJob template provides Return Variables that can be inspected to determine further execution of jobs in a workflow.
- JS7 offers the JS7 - If Instruction to check the values of Return Variables and to decide what instructions to execute next.
Download (upload .json): pdwCheckHistory.workflow.json
Explanation:
- Arguments of the CheckHistoryJob template include to specify the
query
andworkflow
that is looked up in the execution history. - The query isCompletedSuccessful checks if the indicated workflow was successfully executed during the current day.
Explanation:
- The JS7 - If Instruction is used to check the
$returnValue
return variable that carries- the value 0 if the query of the CheckHistoryJob template returns one or more hits.
- the value 1 if the query of the CheckHistoryJob template returns no hits.
- Alternative solutions include to check the value of the
$js7CheckHistoryResult
return variable for a Boolean value that indicates if the query did return any hits:$js7CheckHistoryResult == true
$js7CheckHistoryResult == false
- The above example executes a successor job based on the result of the CheckHistoryJob. Such jobs have access to any Return Variables:
- If the successor job is a Shell job then
- Return Variables can be mapped to environment variables like this:
- the job script can make use of environment variables like this:
- Return Variables can be mapped to environment variables like this:
- If the successor job is a JVM job then Return Variables can be accessed directly.
- If the successor job is a Shell job then