Introduction
- Jobs can be assigned variables from a number of sources.
- Shell Jobs:
- Job Resources holding constant values
- Job Environment Variables populated e.g. from constant values and from JS7 - Order Variables
- JVM Jobs:
- Job Arguments populated from constant values
- Arguments populated e.g. from Order Variables
- Shell Jobs:
- The article explains the sources of variables and the syntax for assignment.
Shell Jobs
Assignment of Environment Variables from Job Resources
Job Resources can be defined to hold a number of environment variables for Shell Jobs, e.g. to forward environment variables for paths and locations to scripts.
- Environment variables from Job Resources are automatically available for Shell Jobs.
- Environment variables are limited in scope to the current job. Therefore modifications to environment variables by a job script are not effective beyond the scope of current job execution.
- Values for environment variables use the data type "string".
Assignment of Job Environment Variables
Shell jobs can define an individual set of environment variables.
- The values of environment variables can be specified from
- Constant values using the "string" data type
- JS7 - Order Variables
- Node Arguments
- Environment variables are limited in scope to the current job. Therefore modifications to environment variables by a job script are not effective beyond the scope of current job execution.
- Values for environment variables use the data type "string". Should values from assigned variables use a different data type then the value is converted to string.
JVM Jobs
Assignment of Job Arguments
Job Arguments are used by JVM Jobs on startup of the Agent.
- The purpose of Job Arguments is to parameterize optional startup code of a job that is run on initialization of the job, i.e. before the job will be executed for orders later on.
- Constant values only can be assigned.
Assignment of Arguments
Such Arguments are used by JVM Jobs when processing orders.
- The purpose of Arguments is to parameterize the processing of an order.
- Constant values and Order Variables can be assigned.
Assignment Syntax Examples
The following assignment types are available:
- Constant string values
- This assignment type is e.g. used with Variable Declarations for workflows and with Node Arguments
- Example:
- GUI Display:
var1 = value 1
- JSON format:
"var1": "value 1"
- GUI Display:
- Expressions
- This assignment type is used with Environment Variables, Job Arguments and Initialization Arguments
- Example:
- GUI Display:
var1 = $someVariable
- JSON format:
"var1": "$someVariable"
- GUI Display:
Find a number of syntax examples for assignment of constant values and expressions.
Examples for Constant Values
Constant values are assigned by use of single quotes or double quotes. No substitution of variables is performed within single quoted values.
Use with single quotes
Input var = 'some value'
Output some value
JSON "var": "'some value'"
Use with double quotes
Input var = "some value"
Output some value
JSON "var": "\"some value\""
Use with single quoted values
Input var = 'some \'quoted\' value'
Output some 'quoted' value
JSON "var": "'some \\'quoted\\' value'"
Use with double quoted values
Input var = "some \"quoted\" value"
Output some "quoted" value
JSON "var": "\"some \\\"quoted\\\" value\""
Use with double quoted and single quoted values
Input var = "some 'quoted' value"
Output some 'quoted' value
JSON "var": "\"some 'quoted' value\""
Use with
$
character from single quoted valuesInput var = 'some $dollar value'
Output some $dollar value
JSON "var": "'some $dollar value'"
Use with
$
character from double quoted valuesInput var = "some \$dollar value"
Output some $dollar value
JSON "var": "\"some \\$dollar value\""
Examples for Variable References
Assignments can reference existing variables. Variables are referenced with a leading $
and optionally with curly braces like this:
$var
${var}
Consider that specifying a non-existent variable will raise a run-time error.
Use without quotes
Assumevar2
to hold the value:some value
Input var = $var2
Output some value
Use with double quotes
Assumevar2
to hold the value:some value
Input var = "$var2"
Output some value
Use with constant values from double quoted values
Assumevar2
to hold the value:second value
Input var = "first value, $var2"
Output first value, second value
Use with string concatenation from double quoted values
Assumevar2
to hold the value:second value
Input var = "${var2}first value"
Output second valuefirst value
Use with constant values and single quoted values
Assumevar2
to hold the value:second value
Input var = "first, '$var2'"
Output first, 'second value'