GS2-StateMachine Script Trigger Reference

Reference of event triggers that call extended scripts

Trigger

start

Start state machine

Synchronous Execution Script

The script is executed synchronously before the start state machine process.

Request
TypeDescription
namespaceNamespaceNamespace
stateMachineMasterStateMachineMasterState machine master data
statusStatusStatus
userIdstringUser ID
parametersstringArguments to be passed to the state machine
Result
TypeRequiredDefaultValue LimitsDescription
permitbool
Whether to allow start
Implementation Example
-- Request
local namespace = args.namespace
local stateMachineMaster = args.stateMachineMaster
local status = args.status
local userId = args.userId
local parameters = args.parameters

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the start state machine process.

Request
TypeDescription
namespaceNamespaceNamespace
stateMachineMasterStateMachineMasterState machine master data
statusStatusStatus
userIdstringUser ID
parametersstringArguments to be passed to the state machine
Implementation Example
-- Request
local namespace = args.namespace
local stateMachineMaster = args.stateMachineMaster
local status = args.status
local userId = args.userId
local parameters = args.parameters

-- Asynchronous scripts typically do not affect the API response.
-- Use for logging, analytics, external notifications, etc.

result = {
}

pass

Pass state machine

Synchronous Execution Script

The script is executed synchronously before the pass state machine process.

Request
TypeDescription
namespaceNamespaceNamespace
stateMachineMasterStateMachineMasterState machine master data
statusStatusStatus
userIdstringUser ID
Result
TypeRequiredDefaultValue LimitsDescription
permitbool
Whether to allow the state machine to finish normally
Implementation Example
-- Request
local namespace = args.namespace
local stateMachineMaster = args.stateMachineMaster
local status = args.status
local userId = args.userId

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the pass state machine process.

Request
TypeDescription
namespaceNamespaceNamespace
stateMachineMasterStateMachineMasterState machine master data
statusStatusStatus
userIdstringUser ID
Implementation Example
-- Request
local namespace = args.namespace
local stateMachineMaster = args.stateMachineMaster
local status = args.status
local userId = args.userId

-- Asynchronous scripts typically do not affect the API response.
-- Use for logging, analytics, external notifications, etc.

result = {
}

error

Error state machine

Synchronous Execution Script

The script is executed synchronously before the error state machine process.

Request
TypeDescription
namespaceNamespaceNamespace
stateMachineMasterStateMachineMasterState machine master data
statusStatusStatus
userIdstringUser ID
Result
TypeRequiredDefaultValue LimitsDescription
permitbool
Whether to allow an error state machine termination
Implementation Example
-- Request
local namespace = args.namespace
local stateMachineMaster = args.stateMachineMaster
local status = args.status
local userId = args.userId

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the error state machine process.

Request
TypeDescription
namespaceNamespaceNamespace
stateMachineMasterStateMachineMasterState machine master data
statusStatusStatus
userIdstringUser ID
Implementation Example
-- Request
local namespace = args.namespace
local stateMachineMaster = args.stateMachineMaster
local status = args.status
local userId = args.userId

-- Asynchronous scripts typically do not affect the API response.
-- Use for logging, analytics, external notifications, etc.

result = {
}