Workflow XML reference
This language reference describes the elements and attributes that comprise a workflow definition.
Element type | Description | Where described |
---|---|---|
Workflow metadata elements |
The elements that make up the workflow metadata |
|
Sub-elements for a configuration type workflow |
For a configuration type workflow, these sub-elements are required |
|
Sub-elements for a provisioning type workflow |
For a provisioning type workflow, these sub-elements are required |
|
Workflow upgrade elements | The elements that define the workflow upgrade options | |
Manifest elements |
The elements that make up the manifest |
|
Step elements: Elements to use for defining all steps |
The elements to use for defining all steps |
|
Step elements: Additional sub-element for parent steps |
The step sub-element, which is used to identify the containing step as a parent step |
|
Step elements: Additional sub-elements for leaf steps |
The sub-elements to use for defining a leaf step, which is a step that does not contain step elements |
|
Step elements: Additional sub-elements for REST steps | The sub-elements to use for defining a step that issues a REST request, such as GET or PUT. This type of step is referred to as a REST step. | Table 10 |
Step elements: Additional sub-elements for steps that invoke another workflow |
The sub-elements to use for defining a step that invokes another workflow, which is referred to as the called workflow |
|
Variable definition elements |
The elements that make up a variable definition |
|
Variable definition type-specific sub-elements |
The type-specific sub-elements that make up a variable definition |
|
atCreate element | For users of the Create Workflow REST service, the atCreate element provides additional options for working with variables. | Table 14 |
In the tables that follow, the elements are listed in the order in which they are required by the schema. Though you can omit optional elements, the elements that you specify must follow the order in which the elements are presented. In contrast, the attributes within an element can be specified in any order.
Workflow metadata elements summary
Element name | Description | Required or optional | Type | Supported attributes |
---|---|---|---|---|
workflowInfo |
Contains the workflow metadata. |
Required. |
Contains the following sub-elements:
|
No attributes are supported for this element. |
workflowID |
A short, arbitrary value that identifies the workflow. |
Required. |
nonNullString |
The following attributes are supported for the workflowID
element:
|
workflowDescription |
A short description of the workflow. |
Required. |
nlsString |
No attributes are supported for this element. |
workflowVersion |
The version of this workflow definition file. Update this value whenever you change any portion of the workflow definition file, including changes to the primary XML file or any sub-files or referenced files. The Workflows task caches only the latest version of any imported workflow definition file. Therefore, to ensure that the most current version is used, you must update the version value whenever you modify the workflow definition. For this reason, when you author a workflow definition file, you might want to complete the development phase on a workstation before you import the workflow definition into the Workflows task. |
Required. |
nonNullString |
No attributes are supported for this element. |
vendor |
The name of the workflow provider. |
Required. |
nonNullString |
No attributes are supported for this element. |
Workflow category is a classification
of the activities to be performed in the workflow. Specifying a workflow category element is
optional. By default, the workflow category is general. To indicate a category,
specify one of the following elements:
The category elements are described in the next rows. |
||||
Configuration | A workflow that is used to configure system software is classified as a configuration workflow. | Optional. | Contains the sub-elements listed in Table 3. | No attributes are supported for this element. |
Provisioning | A workflow that is used to provision system software is classified as a provisioning workflow. | Optional. | Contains the sub-elements listed in Table 4. | No attributes are supported for this element. |
General | All other workflows are classified as general workflows. | Optional. | Empty | No attributes are supported for this element. |
Element name | Description | Required or optional | Type |
---|---|---|---|
productID |
A short, arbitrary value that identifies the workflow. |
Required. |
nonNullString |
productName |
The name of the product |
Required. |
nonNullString |
productVersion |
The product version |
Required. |
nonNullString |
Element name | Description | Required or optional | Type |
---|---|---|---|
productID |
Identifier of the product or component that is being provisioned by the workflow, such as the product identifier (PID) or function modification identifier (FMID). |
Required. |
nonNullString |
productName |
Name of the product or component that is being provisioned by the workflow. |
Required. |
nonNullString |
productVersion |
Version and release of the product or component that is provisioned by the workflow. |
Required. |
nonNullString |
softwareType | Type of software to be provisioned by the workflow. | Required. |
Workflow upgrade elements summary
Element name | Description | Required or optional | Type |
---|---|---|---|
preserveOptions |
Contains the workflow upgrade options. |
Optional. |
Contains
the following sub-elements:
|
version |
Identifies the workflow version that can be upgraded by this workflow definition file. |
Required; at least one. |
Contains
the following sub-elements:
|
variableSet |
The variables to copy to new workflow instance. |
Optional. |
Contains
the following sub-element:
|
stepSet |
The steps to copy to new workflow instance. | Optional. |
Contains
the following sub-element:
|
workflowHistory |
Specifies whether to copy the workflow history from the existing workflow to the new instance. |
Optional. |
Contains
the following sub-element:
|
workflowNotes | Specifies whether to copy the workflow notes from the existing workflow to the new instance. | Optional. | Contains the following sub-element:
|
include |
Specifies the step or variable defined by prior workflow definition file to be copied. Can be specified multiple times. It supports regular expression or variable name. |
Required. |
Contains the
following sub-elements:
|
exclude | Specifies the variables to exclude from the set generated by <include> elements. | Optional. | Contains the following sub-element:
|
Manifest elements summary
Element name | Description | Required or optional | Type | Supported attributes |
---|---|---|---|---|
translatedTextFiles |
Contains the language file definitions. |
Optional. |
If specified,
it must contain the following sub-elements:
|
No attributes are supported for this element. |
bundle |
Contains the set of language files for the bundle |
Required if the translatedTextFiles element is specified. A workflow can contain 1 – 500 bundles. |
A sequence of language elements. |
The following attribute is supported
for the bundle sub-element:
|
language |
Locates a file for a particular language. |
Required if the bundle element is specified. A bundle can contain 1 – 10 languages. |
Empty |
The following attributes are supported
for the language sub-element:
|
Step elements summary
Element name | Description | Required or optional | Type | Supported attributes |
---|---|---|---|---|
step |
Contains attributes of a step. Up to 500 step elements can be defined in a workflow. |
Required. At least one step must be defined. |
The step
element can contain the following sub-elements:
|
The following attributes are supported
for the step element:
|
title |
A short description of the task. |
Required. |
nlsString |
No attributes are supported for this sub-element. |
description |
A more detailed description of the step. |
Required. |
nlsRichString |
No attributes are supported for this sub-element. |
prereqStep |
Identifies a step that must be completed before this step can be performed. Up to 499 prerequisite steps can be defined for a step. |
Optional. |
Empty |
The following attribute is supported
for the prereqStep sub-element:
|
Element name | Description | Required or optional | Type | Supported attributes |
---|---|---|---|---|
step |
A substep. Existence of this sub-element defines a parent step. This sub-element is subject to the 500 step maximum. The step sub-element is mutually exclusive with template, instructions, variableValue, skills, and weight. |
Required. |
Recursive step definition as defined by this table. |
No attributes are supported for this sub-element. |
Element name | Description | Required or optional | Type | Supported attributes |
---|---|---|---|---|
runAsUser | Specifies the user ID under which the step is to
be performed. This value is used for automated steps; it allows for
a step to be performed by a user other than the step owner. When not specified, the default is the step owner user ID. |
Optional. | runAsUserType | None. |
condition | A conditional step. | Optional. |
Condition for performing this step. | The following attributes are supported
for the condition sub-element:
|
variableValue |
References a variable that is defined earlier. The variableValue sub-element is mutually exclusive with the step sub-element. |
Optional. |
Empty |
The following attributes are supported
for the variableValue sub-element:
|
instructions |
Detailed documentation on what the user must do to perform the step. This sub-element is mutually exclusive with the step sub-element. |
Required. |
nlsRichVelocityString |
The following attribute is provided for
the instructions sub-element:
|
weight |
The relative difficulty of the step compared to other steps within this workflow. The weight sub-element is mutually exclusive with step sub-element. |
Required. |
Integer value 1 - 1000. |
No attributes are supported for this sub-element. |
skills |
The type of skills that are required to perform this step. The skills sub-element is mutually exclusive with step sub-element. |
Optional. |
nlsString |
No attributes are supported for this sub-element. |
autoEnable |
Indicates whether the step is to be performed automatically when all prerequisite steps are completed, and no user inputs are required. If autoEnable is not specified, the default is false. |
Optional. |
Boolean | No attributes are supported for this sub-element. |
canMarkAsFailed |
Indicates whether the step can be marked as Failed manually by the step owner. If canMarkAsFailed is not specified, the default is false. When set to true, the Review Instructions page in the Step Perform wizard includes the option to allow the step owner to mark the step as Failed manually. When false, this option is not displayed to the user. |
Optional. |
Boolean |
No attributes are supported for this sub-element. |
rest | Identifies the step as a REST step. | Optional. | String. | The sub-elements and attributes of a REST step are described in Table 10. |
template |
Identifies the step as a template step, which is a step that runs an executable program, such as a JCL job, a REXX exec, or a UNIX shell script. The template sub-element is mutually exclusive with the step sub-element. |
Optional. |
The template
sub-element must contain one of the following sub-elements:
|
The following attribute is supported
for both the inlineTemplate and fileTemplate sub-elements:
|
submitAs |
Indicates the type of executable program. |
Optional. |
A REXX exec that is written to be run in a UNIX shell environment should be submitted as “TSO-UNIX-shell” or “shell-JCL”. |
The following attribute is supported for the template element when the submitAs
sub-element is “JCL”, “TSO-REXX-JCL”, or “shell-JCL”:
|
maxLrecl |
For a step that submits a job, this value specifies the maximum record length, in bytes, for the input data for the job. This value is used when the step is performed automatically (autoEnable=true). If the step is performed manually, the user can optionally specify the maximum record length on the Edit JCL page in the Workflows task. |
Optional. |
Integer value 80 - 1024. The default is 1024 bytes. |
No attributes are supported for this sub-element. |
output |
Indicates the default name of the output property file that is produced by the step (a data set or UNIX file). The output file can contain variables and values that are used by subsequent steps. The Workflows task allows the user to modify the file name and location, as needed. |
Optional. |
String. | The following attributes are supported for the output sub-element:
|
successPattern |
Regular expression that is returned for a successful program execution. This element is required. You must specify one (and only one) regular expression for a successful program completion. | Required. |
String. | No attributes are supported for this sub-element. |
failedPattern |
Optional regular expression that can be returned for program execution failures. You can omit this element or specify up to 100 different specifications for failedPattern. This property might be null. | Optional. |
String. | No attributes are supported for this sub-element. |
outputVariablesPrefix |
For a step that creates a variable, this property contains a prefix that identifies a string as a variable. This property might be null. | Optional. |
String. | The following attribute is supported for the outputVariablesPrefix sub-element:
|
scriptParameters |
For a step that runs a program, this property contains the input parameters that
can be set by the step owner. This property might be null. The following sub-elements are included
on the scriptParameters element:
|
Optional. |
String. | No attributes are supported for this sub-element. |
description | Text description of the parameter in the scriptParameters element, such as its intended use or recommended value. | Required if the scriptParameters element is specified. | String. | No attributes are supported for this sub-element. |
value | Value of the parameter in the scriptParameters element. | Required if the scriptParameters element is specified. | String. | No attributes are supported for this sub-element. |
procName |
For a step that runs a program under TSO/E, this property contains the name of the logon procedure that is used to log into the TSO/E address space. If no value was specified for the step, the default is IZUFPROC. | Optional. |
String. | The following attribute is supported for the procName sub-element:
|
regionSize |
For a step that runs a program under TSO/E, this property contains the region size for the TSO/E address space. If no value is specified for the step, the default is 50000. | Optional. |
Integer value 50000 - 2096128. |
No attributes are supported for this sub-element. |
timeout |
For a step that runs a REXX exec or UNIX shell script, this property contains the maximum amount of time that the program can run before it is ended by a timeout condition. | Optional. |
Integer value 60 - 3600. |
No attributes are supported for this sub-element. |
saveAsDataset |
Data set name (fully qualified, no quotations) specifying where to save the file after the user edits it. When a file is generated, the presence of this element results in the save as data set option being presented to the user, primed with the element value, if specified. When a program is run, this element can be used as the default value. However, the Workflows task widget is always displayed to the user. |
Optional. |
velocityFileString |
The following attribute is supported
for the saveAsDataset sub-element:
|
saveAsUnixFile |
Path name that specifies where to save the file after the user edits it. When a file is generated, the presence of this element results in the save as UNIX file option being presented to the user, primed with the element value, if specified. When a program is run, this element can be used as the default value. However the Workflows task widget is always displayed to the user. |
Optional. |
velocityFileString |
The following attribute is supported
for the saveAsUnixFile sub-element:
|
predefinedVariable |
For a step that submits a job, this sub-element
sets a variable in the body of the job. A predefined variable is treated
as a string substitution. The substitution applies to the current
step only. You can specify multiple predefined variables per step. |
Optional. | predefinedVariableType | The following attribute is supported
for the predefinedVariable sub-element:
|
feedbackItem |
Optionally includes a feedback form for the step in the Workflows task with questions for the step owner to answer. Up to 100 feedback items (questions) can be specified for a step. | Optional. | feedbackItemType | The following attributes are supported for the feedbackItem sub-element:
|
question |
The question to be asked (a text string). For example: How difficult was this step? | Required, if the element feedbackItem is specified. | String. | No attributes are supported for this sub-element. |
answers |
Answer format, which is defined by including one of the following sub-elements:
|
Required, if the element feedbackItem is specified. | answersType | No attributes are supported for this sub-element. |
singleSelect |
A sub-element of the element answers. Indicates that one answer (and only one) can be selected from the available choices listed in answers. | Optional. | selectType | The following attribute is supported for the multipleSelect sub-element:
|
label |
One or more answers to be listed as selectable choices for the question. At least one label (answer) must be specified, up to a maximum of 50. | Required. | labelType | The following attributes are supported for the label sub-element:
|
multipleSelect |
A sub-element of the element answers. Indicates that more than one answer can be selected from the available choices. | Optional. | selectType | The following attribute is supported for the multipleSelect sub-element:
|
label |
One or more answers to be listed as selectable choices for the question. At least one label (answer) must be specified, up to a maximum of 50. | Required. | labelType | The following attributes are supported for the label sub-element:
|
text |
A sub-element of the element answers. Indicates that no choices are provided; the user answers the question by entering a text value. | Optional. | String. | No attributes are supported for this sub-element. |
Element name | Description | Required or optional | Type | Supported attributes |
---|---|---|---|---|
httpMethod | Indicates the HTTP method that is used for issuing
the REST request. The following values are valid:
|
Required. |
String | None. |
schemeName | Scheme name that is associated with the REST request. If specified, this element must be set to "http." | Optional. | String | None. |
hostname | Host name or IP address of the system to which the REST request is directed. For example: www.ibm.com. | Optional | String | The following attribute is supported for
the hostname sub-element:
|
port | Port number to use for the REST request. | Optional. | String | The following attribute is supported for
the post sub-element:
|
uriPath | URI path to use for the REST request. | Required. | String | The following attribute is supported for
the uriPath sub-element:
|
queryParameters | For a GET or POST request, this element contains the query parameters. | Optional. | String | The following attribute is supported for
the queryParameters sub-element:
|
requestBody | For a PUT or POST request, this element contains the request body. | Optional. | String | The following attribute is supported for
the requestBody sub-element:
|
expectedStatusCode | The expected HTTP status code from the REST API request. If this value does not match the actualStatusCode value, the workflow step fails. This behavior is similar to what happens when a job template step returns a return code that is greater than the allowed maximum return code. | Required. | Integer | None |
actualStatusCode | The actual HTTP status code that is received from the REST request. To obtain this value, map it to a workflow variable. | Optional | Integer | None |
propertyMapping | The property from the REST response body that is mapped to a workflow variable. You can specify multiple propertyMapping elements in a REST step. | Optional | String | The following attributes are supported for
the propertyMapping sub-element:
|
Element name | Description | Required or optional | Type | Supported attributes |
---|---|---|---|---|
variableMapping |
Used to transfer variable values between the called workflow and calling workflow. |
Optional. |
Any |
No attributes are supported for this sub-element. |
fromCallingToCalled |
Used to transfer variable values from the calling workflow to the called workflow. |
Optional. |
No attributes are supported for this sub-element. |
|
regExpression |
Used for filtering on variable names. Specify a portion of the variable name with one or more wildcard characters. |
Optional. |
nonNullString |
No attributes are supported for this sub-element. |
variableName |
Name of the variable. |
Optional. |
nonNullString |
The following attribute is supported
for the variableName sub-element:
|
fromCalledToCalling |
Used to transfer variable values from the called workflow to the calling workflow. |
Optional |
The following attribute is supported
for the fromCalledToCalling sub-element:
|
|
regExpression |
Used for filtering on variable names. Specify a portion of the variable name with one or more wildcard characters. |
Optional. |
nonNullString |
No attributes are supported for this sub-element. |
variableName |
Name of the variable. |
Optional. |
No attributes are supported for this sub-element. |
|
callingStepWeight |
The relative difficulty of the step compared to other steps within this workflow. The callingStepWeight sub-element is mutually exclusive with the step sub-element. |
Required. |
Integer value 1 - 1000. |
No attributes are supported for this sub-element. |
callingStepSkills |
The type of skills that are required to perform this step. The callingStepSkills sub-element is mutually exclusive with the step sub-element. |
Optional. |
nlsString |
No attributes are supported for this sub-element. |
callingStepAutoEnable |
Indicates whether the step is to be performed automatically when all prerequisite steps are completed, and no user inputs are required. If callingStepAutoEnable is not specified, the default is false. |
Optional. |
Boolean |
No attributes are supported for this sub-element. |
canCallingStepMarkAsFailed |
Indicates whether the step can be marked as Failed manually by the step owner. If canCallingStepMarkAsFailed is not specified, the default is false. When set to true, the Review Instructions page in the Step Perform wizard includes the option to allow the step owner to mark a step as Failed manually. When false, this option is not displayed to the user. |
Optional. |
Boolean |
No attributes are supported for this sub-element. |
calledWorkflowDefinitionFile |
Path name of an external file that contains the workflow definition for the called workflow. Either inlineTemplate or fileTemplate must be specified within the template sub-element. |
Optional. |
Path name to template file, the contents of which are treated as type velocityString. |
No attributes are supported for this sub-element. |
calledWorkflowDescription |
A more detailed description of the step. |
Required. |
nlsRichString |
No attributes are supported for this sub-element. |
calledWorkflowID |
The name of the workflow. The combination of calledWorkflowID and calledWorkflowVersion must be unique within the Workflows task. You can use the calledWorkflowID and calledWorkflowVersion to identify a called workflow. |
Optional. |
String consisting of letters (uppercase or lowercase), numeric digits, the hyphen, and the underscore character. This value must begin with a letter. |
No attributes are supported for this sub-element. |
calledWorkflowVersion |
The version of this workflow definition file. Update this value whenever you change any portion of the workflow definition file, including changes to the primary XML file or any sub-files or referenced files. The Workflows task caches only the latest version of an imported workflow definition file. Therefore, to ensure that the most current version is used, you must update the version value whenever you modify the workflow definition. For this reason, when you create a workflow definition file, you might want to complete the development phase on a workstation before you import the workflow definition into the Workflows task. The combination of calledWorkflowID and calledWorkflowVersion must be unique within the Workflows task. You can use the calledWorkflowID and calledWorkflowVersion to identify a called workflow. |
Optional. |
nonNullString |
No attributes are supported for this sub-element. |
calledWorkflowMD5 |
An MD5 encrypted value (a 128-bit hash value) that you can use to identify the called workflow. |
Optional. |
nonNullString |
No attributes are supported for this sub-element. |
Variable definition elements and types summary
Element name | Description | Required or optional | Type | Supported Attributes |
---|---|---|---|---|
variable |
Contains the definition of a variable. Up to 1500 variables can be defined in a workflow. |
Optional. |
If specified, the variable element can contain the following sub-elements:
And, the variable element must contain at least one of the type-specific sub-elements, which are listed in Table 13. |
The following attributes are supported for the variable element:
|
label |
A short label for the UI widget. |
Required if the variable element is specified. |
nlsString |
No attributes are supported for this sub-element. |
abstract |
A brief description of the variable for the UI widget. |
Required if the variable element is specified. |
nlsString |
No attributes are supported for this sub-element. |
description |
A longer explanation of what the variable is used for, and perhaps what the syntactic requirements are. |
Required if the variable element is specified. |
nlsRichString |
No attributes are supported for this sub-element. |
exposeToUser |
For a step that runs a JCL job. If included, the exposeToUser element indicates that the variable is to be included in the List variables for substitution window of the Workflows task. This element supports both global variables and instance variables in Workflows task. If this element is not specified, the variable is not shown in the Edit JOB statement page, and thus, cannot be selected by the user for the substitution of another value in the JOB statement. |
Optional. Applicable only when the variable element is specified. |
exposeToUserType |
|
category |
The name of the logical grouping to which this variable belongs. The default is general. |
Required if the variable element is specified. |
nlsString |
No attributes are supported for this sub-element. |
datastore |
Place where the variable value is stored over time. Because z/OSMF is the only supported location for variable values, it is not necessary to specify the datastore element. |
Optional. Applicable only when the variable element is specified. |
A single, empty, required zOSMF sub-element |
No attributes are supported for this sub-element. |
Element name | Description | Type | Supported attributes |
---|---|---|---|
Boolean |
Boolean type |
Empty |
No attributes are supported for this sub-element. |
default |
Default value |
Boolean. The default is true. |
No attributes are supported for this sub-element. |
string |
String type |
If specified, this sub-element can contain one or more of the following sub-elements:
|
The following attributes are supported for the string sub-element:
|
integer |
Integer type |
If specified, this sub-element can contain one or more of the following sub-elements:
|
No attributes are supported for this sub-element. |
decimal |
Decimal type |
If specified, this sub-element can contain one or more of the following sub-elements:
|
The following attribute is supported for the decimal sub-element:
|
time |
Time type |
If specified, this sub-element can contain one or more of the following sub-elements:
|
No attributes are supported for this sub-element. |
date |
Date type |
If specified, this sub-element can contain one or more of the following sub-elements:
|
No attributes are supported for this sub-element. |
password |
Password type. | If specified, this sub-element can contain one or more of the following sub-elements:
|
No attributes are supported for this sub-element. |
atCreate element summary
Element name | Description | Required or optional | Type | Supported Attributes |
---|---|---|---|---|
atCreate |
For users of the Create Workflow REST service, the atCreate element provides additional options for working with variables. Up to 1500 atCreate elements can be defined in a workflow. |
Optional. |
atCreateType |
The following attributes are supported for the atCreate element:
|