Script Task

Script Task

In Flowable, Script Tasks are used to execute scripts in a JSR-223 compatible scripting language, for instance JavaScript or Groovy.

Scripts Tasks are mainly used to perform simple calculations or operations. For more complex use cases, you should consider writing a Java Service and calling it via a Service Task.

Attributes

Group Attribute Description

General

ID

A unique ID for the element. The ID is used to refer to a model element from outside of the diagram (for example, from a CMMN Action button in a form or when referring to a model element, such as plan item ID, in a CMMN REST call). For convenience, this ID can be edited.

Name

The name of the element. This is the name displayed in the diagram. If no run-time name is specified, this name is also used in the running case.

Description

The description attribute additionally adds a description to the component.

Documentation

Documentation intended to explain concepts of its use for future reference.

Details

Asynchronous

When enabled, the behavior of the plan item is to execute as an asynchronous job. This happens when the plan item transitions to the ACTIVE state. During the execution of the behavior, the plan item is set to an intermediate ASYNC_ACTIVE state.

Script Format

Defines the script format. The script format must be provided if a script is provided. By default, Groovy and JavaScript are provided.

Script

Script that is executed when the task is activated.

Required

Select this option to mark the element as required (exclamation mark decorator).

Required plan items must either be in the state COMPLETED, TERMINATED or DISABLED for their parent stage to complete.

Repetition

Select this option to mark the element as repeatable (number sign decorator).

By default, only one instance of a plan item may be created at runtime. Repeatable plan items do not have that limitation.

The combination of this property, Manual activation and no entry sentry has a special meaning called Automatic repetition: As a previous instance of the plan item completes, a new instance is automatically created and set into state Enabled.

Completion neutral

Completion neutral influences the plan item’s parent stage completes.

Plan items in the state AVAILABLE may prevent the parent stage (or case) from automatically completing. By checking this property, the plan item behaves neutral with respect to the completion of the parent container.

Expression

An expression that is resolved once the task is executed. The expression can either be a value expression such as ${firstName} or it can resolve a named object (e.g., a Spring Bean) and interact with it. For instance, in the above example, a possible expression could be ${clientService.createNewClient(firstName, lastName, email)}.

Result variable

The name of the variable under which to store the return value of the script.

Activation

Manual activation

Select this option to mark the element to have Manual activation (right arrow 'play' decorator).

Plan items with Manual activation move from state AVAILABLE to state ENABLED once they trigger. A plan item in state ENABLED exposes an action button that allows the user to manually start the plan item.

More

Lifecycle listeners

Allows you to define lifecycle listeners for a plan item. Lifecycle listeners allow you to execute an expression, a delegate expression or a class when a plan item transitions from one state to another.

Visual

Font weight

The font weight of the element in the diagram.

Font size

The font size of the element in the diagram.

Font color

The font color of the element in the diagram.

Font style

The font style of the element in the diagram.

Background color

The background color of the element in the diagram.

Border color

The border color of the element in the diagram.