partialExecute (Windows Shell)

Performs the same function as the Execute operation with the notable difference that it will perform the windows commands on each individual Partial Deploy file.  All of the workflow execution properties available with execute are also available here in addition to the below properties:

  • PROJECT_TYPE - Partial deploy project type, GENERIC, EBS, MDS etc
  • OBJECT_TYPE_CODE - Object type for the File.
  • File level attributes
    • FILE_PATH - File path of the partial deploy file. (File Name (with path)) on the partial deployment screen.
    • FILE_NAME - File name of the partial deploy file
    • FILE_PATH_PREFIX - File path, excluding the file name and extension
    • FILE_EXTENSION - File extension on the partial 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 partial deploy file - Added in 5.0.4
  • All file attributes defined on Project Files tab are included as well.

File level variable example

Environment VariableValue if File Name (with path) is /XXHR/publisher/APXSOBLX_1.rtf
FILE_PATH/XXHR/publisher/APXSOBLX_1.rtf
FILE_NAMEAPXSOBLX_1
FILE_PATH_PREFIX/XXHR/publisher
FILE_EXTENSIONrtf
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
is used. (e.g. /java/*##*.java##*person*##/java/.*[tT]est.*\.java)

Project File ExcludesFD_PARTIAL_FILE_EXCLUDESNoControls 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)

Inputs

Input Name

Input Code

Required

Description

Code Snippet

FDWSHELL_INP_CODE_SNIPPET

Yes

The commands and/or bat scripts that are to be executed in a Windows environment.

Restrict Environment

FDWSHELL_INP_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

FDWSHELL_INP_NO_SECURE_VARIABLES

No

Check if you do not want to pass secure/encrypted properties in shell environment.

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.

Output Syntax
setOutput {output name} {output value} 

#Example 
Call: setOutput RESULT %{RESULT_VARIABLE}%

Outputs are aggregated into a CSV list for partial deployments.

The above RESULT example would contain an entry for each file in the object list.  [YES, NO]

Indicate file was not processed and should not consider status
# 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