packageExecute (Shell)

Performs the same function as the Execute operation with the notable difference that it will perform the shell 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

    • FILE_SCM_REVISION - The SCM Revision of the package deploy file

  • 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

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

Fully qualified path to file being processed. This can be different locations for build and deploy workflow execution as there might be some checkout folder specified for build. See examples below for build and deploy workflow where FILE_PATH is in bold text.

  • /home/oracle/application/localhost/work/846808/840047/temp/PackageExecute/EBSCustomizations/XXHR/import/XXHR_Second_CP.ldt

  • /home/oracle/application/localhost/work/846808/840059/temp/import/XXHR_Second_CP.ldt

Project Properties

Property Name

Property Code

Required

Description

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 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

Input Name

Input Code

Required

Description

Code Snippet

FDSHELL_INP_CODE_SNIPPET

Yes

The commands and/or scripts that are to be executed on the Unix server.

Stop on Error

FDSHELL_INP_STOP_ON_ERROR

No

Flag that indicates whether the script should stop on an error or continue on processing.

Disable Echo

FDSHELL_INP_DISABLE_ECHO

No

Flag that indicates to disable echo of each command as it executes. Echo of commands can be very useful tool to identify where shell script has failed during execution as well it helps with debugging. If you do not want to see this echo, you can select this input.

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.

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

Output Name

Required

Description

User Defined

No

See Special Considerations below.

Artifacts

This operation delegates consumes/produces artifacts decision to the workflow developer. Check Consumes Artifacts on the workflow step editor if this operation requires artifacts to be delivered prior to execution of the script. Check Produces Artifacts on the workflow step editor if this operation creates artifacts. The artifacts folder is available via the FD_ARTIFACTS_DIR variable.

Endpoint Selection

This operation delegates endpoint selection to the workflow developer. The workflow editor will default the selection to "All", which selects all available endpoints associated to the Target.

Selecting a specific resource will result in selection of endpoints associated to the Target which have that resource defined.

Endpoint Execution

This operation delegates endpoint execution to the workflow developer. The workflow editor will default to "Any", which will execute on any one of the selected endpoints, which will be randomly picked from selected endpoints or a specific endpoint where previous step may have executed. Changing this value to "All" to will result in execution on all selected endpoints.

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.

Outputs Syntax
setOutput {output name} {output value} #Example setOutput RESULT ${RESULT_VARIABLE} To load a file into an output, consider syntax like this: setOutput OUTPUT_NAME "`cat /path/to/file.txt `"

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]

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:

setObjectResultStatusSuccess setObjectResultStatusFailed setObjectResultStatusSkipped setObjectResultStatusNotAttempted setObjectResultStatusIgnore
The following macros are not currently supported in the footer:
  • style