Introduction
This documentation describes how the substitution of parameter values works in JobScheduler. It is also described how to use parameters in shell script, API Jobs and pre- and postprocessing scripts.
Substitution of parameter values done by JobScheduler
JobScheduler substitutes the values of environment variables when using ${<env_var>}
in task parameters.
When <env_var>
is an unknown environment variable, JobScheduler substitutes it to empty
To avoid doing the substitution by JobScheduler the value can be quoted with a backslash like \${<env_var>}
Example
When running this job the output will b:
Please note
${test}
has been substituted toempty
- To access the value of the parameter in a shell script, the name must be prefixed. The value of the prefix is
- Default: SCHEDULER_PARAM_
- Can be set by the parameter scheduler.variable_name_prefix which is defined in the file $scheduler_data/config/scheduler.xml
- When changing the value of the prefix, JobScheduler has to be restartet.
- Can be set by the parameter scheduler.variable_name_prefix which is defined in the file $scheduler_data/config/scheduler.xml
Attention: JobScheduler do NOT substitute environment variables in order parameters.
Substitution of parameter values done by sos.scheduler.managed.configuration.ConfigurationOrderMonitor
For jobs that are running in a job chain there is an add substitution mechanism provided by the preprocessing java class sos.scheduler.managed.configuration.ConfigurationOrderMonitor
This preprocessing java class does the following
- before processing
- copy the node paramters that are defined in jobchain.config.xml into the the order paramters
- if an order parameter with the same name already exits, it will be overwritten
- substitution of all
${<param>}
with- JobScheduler parameters that are defined in the file $scheduler_data/config/scheduler.xml
- task parameters that are defined in the actual running job
- order parameters that are defined in the order
- node paramters that has been copied to the order parameters
- after processing
- delete all node parameters from the order.
Please note:
- If a task parameter value should be substituted by the configurationMonitor the value has to be quotedto avoid the substitution by the JobScheduler
Example: a value \${param}
- If the parameter
scheduler.order.keep_order_content_on_reschedule=true
the values will be substituted only in the first run.
Substituion of parameter values done by JITL-Jobs extending JobSchedulerJobAdapter
There are JITL-Jobs that extends the base class JobSchedulerJobAdapter
and some older jobs do extend JobSchedulerJob.
Please see a list here JITL Jobs - Status