Execute Shell Command

Execute Shell Command executes a system command or shell script.

This task is used in Scheduling, Listeners and Manual Task Execution.

Name Description
Table 33. Attributes of "Execute shell command" task

Task type

"Execute shell command"

Start on

Node IDs to process the task.

This attribute is accessible only in Cluster environment. If there are nodes specified, the task will be processed on the first node which is online and ready.

Shell script

Command line for execution of external process.

Working directory

A working directory for the process.

If not set, the working directory of the application server process is used.

Timeout

Timeout in milliseconds. After a period of time specified by this number, the external process is terminated and all results are logged.

scheduling execute command
Figure 173. Web GUI - shell command

Execute Shell Command Parameters

Some parameters are available only in particular context: scheduling, event listeners, or manual task execution.

Name Description
Table 34. Parameters of Execute shell command

event

An event that has triggered the task

now

Current date-time

task

The triggered task

user

The object representing the user who executed the graph/jobflow. It contains sub-properties that are accessible using dot notation (i.e. ${user.email})

  • user.email

  • user.username

  • user.firstName

  • user.lastName

  • user.groups (list of values)

Parameters available in Scheduling

schedule

The object representing the schedule that triggered this task. It contains sub-properties that are accessible using dot notation (i.e. ${schedule.description})

  • schedule.description

  • schedule.startTime

  • schedule.endTime

  • schedule.lastEvent

  • schedule.nextEvent

  • schedule.fireMisfired

EVENT_USERNAME

The name of the user who caused the event.

EVENT_USER_ID

The numeric ID of the user who caused the event.

EVENT_SCHEDULE_DESCRIPTION

A description of the schedule.

EVENT_SCHEDULE_EVENT_TYPE

The type of the schedule - SCHEDULE_ONETIME or SCHEDULE_PERIODIC.

EVENT_SCHEDULE_ID

The numeric ID of the schedule

EVENT_SCHEDULE_LAST_EVENT

Date-time of the latest schedule triggering (in java.util.Date.toString() format).

Parameters available in Listeners

run

The object representing a single graph/jobflow execution. It contains sub-properties that are accessible using dot notation (i.e. ${run.jobFile}).

  • run.jobFile

  • run.status

  • run.startTime

  • run.stopTime

  • run.errNode

  • run.errMessage

  • run.errException

sandbox

The object representing a sandbox containing the executed graph/jobflow. It contains sub-properties that are accessible using dot notation (i.e. ${sandbox.name})

  • sandbox.name

  • sandbox.code

  • sandbox.rootPath

tracking

An object representing a status of components in a graph execution. It contains sub-properties that are accessible using Velocity syntax for loops and conditions.

EVENT_USERNAME

The name of the user who caused the event.

EVENT_USER_ID

A numeric ID of the user who caused the event.

EVENT_RUN_SANDBOX

A code of the sandbox containing the graph/jobflow.

EVENT_RUN_JOB_FILE

A sandbox-relative path to the graph/jobflow file.

EVENT_RUN_RESULT

The current status of the graph/jobflow execution

  • N_A

  • READY

  • RUNNING

  • WAITING

  • FINISHED_OK

  • ERROR

  • ABORTED

  • TIMEOUT

  • UNKNOWN

EVENT_RUN_ID

A numeric ID of the run record representing graph/jobflow execution

EVENT_TIMEOUT

A specified timeout (in milliseconds) for the TIMEOUT event to occur.

EVENT_JOB_EVENT_TYPE

Graph event that triggered the task

  • GRAPH_STARTED

  • GRAPH_PHASE_FINISHED

  • GRAPH_FINISHED

  • GRAPH_ERROR

  • GRAPH_ABORTED

  • GRAPH_TIMEOUT

  • GRAPH_STATUS_UNKNOWN

Parameters available in Manual Task Execution

parameters

Task parameters - container for String-String key-value pairs passed to this task.