executeFilePartial

Execute a Jython script from a file. This operation differs from executeFile by executing the file for every file in the package. This operation has the same support for inputs and outputs available to it as the executeFile operation. In addition it has the following variables available with information about a particular file.

File Level Variables With Example

Variable nameDescriptionValue if File Name (with path) is /XXHR/publisher/APXSOBLX_1.rtf
FILE_PATHFile path of the partial deploy file. (File Name (with path)) on the partial deployment screen./XXHR/publisher/APXSOBLX_1.rtf
FILE_NAMEFile name of the partial deploy file.APXSOBLX_1
FILE_PATH_PREFIXFile path, excluding the file name and extension./XXHR/publisher
FILE_EXTENSIONFile extension on the partial deploy file.rtf
SOURCE_FILEFully qualified location of the file on the endpoint.

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/PartialExecute/EBSCustomizations/XXHR/import/XXHR_Second_CP.ldt
  • /home/oracle/application/localhost/work/846808/840059/temp/import/XXHR_Second_CP.ldt
FILE_HASHThe Hash of the file as generated recorded by FlexDeploy.
FILE_SCM_REVISIONThe SCM Revision of the partial deploy file.


All file attributes defined on Project Files tab are included as well.

Environment/Instance Properties

Property NameProperty CodeRequiredDescription




Project Properties

Property NameProperty CodeRequiredDescription
Stop On Deployment ErrorFDJYTHON_STOP_ON_DEPLOYMENT_ERRORNo

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 partial operations only. True by default.

Inputs

Input NameInput CodeRequiredDescription
File PathFDJYTHON_INP_FILE_PATHYesPath to the file to run.
ClasspathFDJYTHON_INP_CLASS_PATHNoAdditional classpath(s) to use java libraries. Classpaths can be separated by semicolons or colons. Classpath entries may contain a wildcard (*).

Artifacts

This operation delegates the consume/produce artifacts decision to the workflow developer.

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 environment instance. Selecting a specific resource will result in selection of endpoints associated to the environment instance 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

Outputs

User defined outputs – an output must be defined in the workflow editor to be accessible. Within your script use the Map outputs (type Map<String,Object>) to set any outputs.

Example

Output Example
ouptuts.put("MY_STRING_OUTPUT","Output result") # output will be "Output result"
ouptuts.put("MY_BOOLEAN_OUTPUT",bool("")) # output will be false

Setting Status

The status of the File can be set in your script using the packageFunctions object. This object has several functions available to it, see the example below. If an exception occurs in your script, the status will be set to Failed. Statuses will only be set when deploying.

Setting the status examples
packageFunctions.setObjectResultStatusSuccess() # Status will be Success
packageFunctions.setObjectResultStatusFailed() # Status will be Failed
packageFunctions.setObjectResultStatusSkipped() # Status will be Skipped
packageFunctions.setObjectResultStatusNotAttempted() # Status will be Not Attempted
packageFunctions.setObjectResultStatusIgnore() # Status will be Unknown