Version

    Execute Shell Command

    Execute Shell Command executes a system command or shell script.

    This task is used in Chapter 30, Scheduling, Chapter 32, Listeners and Chapter 29, Manual Task Execution.

    Table 28.3. Attributes of "Execute shell command" task

    NameDescription
    Task type"Execute shell command"
    Start onNode 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 scriptCommand 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.

    Web GUI - shell command

    Figure 28.2. Web GUI - shell command


    Execute Shell Command Parameters

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

    Table 28.4. Parameters of Execute shell command

    NameDescription
    eventAn event that has triggered the task
    nowCurrent date-time
    taskThe 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_IDThe 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_IDA 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_IDA numeric ID of the run record representing graph/jobflow execution
    EVENT_TIMEOUTA 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
    parametersTask parameters - container for String-String key-value pairs passed to this task.