GS2-StateMachine Script Trigger Reference

Reference for 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
Type Description
namespace Namespace Namespace
stateMachineMaster StateMachineMaster State machine master data
status Status Status
userId string User ID
parameters string Arguments to be passed to the state machine
Result
Type Required Default Value Limits Description
permit bool
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
Type Description
namespace Namespace Namespace
stateMachineMaster StateMachineMaster State machine master data
status Status Status
userId string User ID
parameters string Arguments 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
Type Description
namespace Namespace Namespace
stateMachineMaster StateMachineMaster State machine master data
status Status Status
userId string User ID
Result
Type Required Default Value Limits Description
permit bool
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
Type Description
namespace Namespace Namespace
stateMachineMaster StateMachineMaster State machine master data
status Status Status
userId string User 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
Type Description
namespace Namespace Namespace
stateMachineMaster StateMachineMaster State machine master data
status Status Status
userId string User ID
Result
Type Required Default Value Limits Description
permit bool
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
Type Description
namespace Namespace Namespace
stateMachineMaster StateMachineMaster State machine master data
status Status Status
userId string User 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 = {
}