Performs the same function as the Execute operation with the notable difference that it will perform the windows commands on each individual Package Deploy file. All of the workflow execution properties available with execute are also available here in addition to the below properties:
- PROJECT_TYPE - Package deploy project type, GENERIC, EBS, MDS etc
- OBJECT_TYPE_CODE - Object type for the File.
- File level attributes
- FILE_PATH - File path of the package deploy file. (File Name (with path)) on the package deployment screen.
- FILE_NAME - File name of the package deploy file
- FILE_PATH_PREFIX - File path, excluding the file name and extension
- FILE_EXTENSION - File extension on the package deploy file.
- SOURCE_FILE - Fully qualified location of the file on the endpoint.
- FILE_HASH - The Hash of the file as generated recorded by FlexDeploy - Added in 5.0.4
- FILE_SCM_REVISION - The SCM Revision of the package deploy file - Added in 5.0.4
- All file attributes defined on Project Files tab are included as well.
File level variable example
Environment Variable | Value if File Name (with path) is /XXHR/publisher/APXSOBLX_1.rtf |
---|---|
FILE_PATH | /XXHR/publisher/APXSOBLX_1.rtf |
FILE_NAME | APXSOBLX_1 |
FILE_PATH_PREFIX | /XXHR/publisher |
FILE_EXTENSION | rtf |
SOURCE_FILE | <Workflow Execution Temp Directory>/XXHR/publisher/APXSOBLX_1.rtf |
Environment/Instance Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
Project Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
Project File Includes | FD_PARTIAL_FILE_INCLUDES | No | Controls files included in Project Files. Enter expressions separated by ##. Leave empty to select all files. Begin or end the expression with * for simple wildcards. Otherwise, regex |
Project File Excludes | FD_PARTIAL_FILE_EXCLUDES | No | Controls files excluded from Project Files. Enter expressions separated by ##. Leave empty to select all files. Begin or end the expression with * for simple wildcards. Otherwise, regex is used. (e.g. /java/*##*.java##*person*##/java/.*[tT]est.*\.java) |
Stop On Deployment Error | FDSHELL_STOP_ON_DEPLOYMENT_ERROR | No | Stop deploying package files if any error occurs. If unchecked all files will be deployed even if one or more files fails. This is for packageExecute operations only. |
Inputs
Input Name | Input Code | Required | Description |
---|---|---|---|
Code Snippet |
| Yes | The commands and/or bat scripts that are to be executed in a Windows environment. |
Restrict Environment |
| No | Provide comma-separated instance codes to restrict environment variables in shell to specified instance codes. If no value is provided all properties are available to shell environment. |
No Secure Variables |
| No | Check if you do not want to pass secure/encrypted properties in shell environment. |
Perform Property Replacement | FDSHELL_INP_PERFORM_PROPERTY_REPLACEMENT | No | Check to perform property replacement on source file before execution of script. |
Outputs
Output Name | Required | Description |
---|---|---|
User Defined | No | See Special Considerations below. |
Artifacts
This operation delegates the consume/produce artifacts decision to the workflow developer.
Endpoint Selection
This operation delegates the selection to the workflow developer to determine.
Endpoint Execution
This operations delegates the execution to the workflow developer to decide.
Special Considerations
User Defined Outputs – An output must be defined in the workflow editor to be accessible. Within your script, use the following built-in function to set the output with the appropriate value and have it returned to the workflow process. Any number of outputs can be used.
setOutput {output name} {output value} #Example Call: setOutput RESULT %{RESULT_VARIABLE}%
Outputs are aggregated into a CSV list for package deployments.
The above RESULT example would contain an entry for each file in the object list. [YES, NO]
# just call ignoreStatus for File that this shell did not process ignoreStatus
Overriding the file status
There may be cases when you want to manually set the status for any particular file when scripting. The below functions can be utilized to set the status of the file as you see fit:
Call: setObjectResultStatusSuccess Call: setObjectResultStatusFailed Call: setObjectResultStatusSkipped Call: setObjectResultStatusNotAttempted Call: setObjectResultStatusIgnore