ScriptableFlowRunner - スコープ指定
フロー、サブフロー、およびアクション実行のパラメーターを定義するために使用するビルダーオブジェクトを作成します。特定のドメインで実行するフローを指定できます。ビルダーから直接フロー、サブフロー、またはアクションの実行を開始し、ScriptableFlowRunnerResult オブジェクトで結果を表示します。
これらのメソッドは、サーバー側スクリプトで sn_fd 名前空間識別子とともに使用します。
API 呼び出し順
フロー、サブフロー、およびアクションは、API を次の順番で使用して構築および実行します。
- 1. FlowAPI:ビルダーオブジェクトを作成する
- getRunner() を使用して ScriptableFlowRunner ビルダーオブジェクトをインスタンス化します。
- 2. ScriptableFlowRunner:実行する ワークフロースタジオ コンテンツを指定する
- 下記のメソッドを次の順番で使用して、ビルダーパターンを作成します。
- action()、datastream()、flow()、subflow() メソッドのいずれかを使用して、ビルドする ワークフロースタジオ オブジェクトのタイプを指定します。
- addInput()、inDomain()、quick() などのメソッドを 1 つまたは複数使用して、実行パラメーターを指定します。
- run() メソッドを使用して、アクション、フロー、サブフローを指定されたパラメーターで実行し、ScriptableFlowRunnerResult オブジェクトを返します。
- 3. ScriptableFlowRunnerResult: ワークフロースタジオ 実行の詳細を取得する
- getContextId()、getOutputs()、getDomainId() などのメソッドを 1 つまたは複数使用して、実行結果の詳細を表示します。
例
この例では、ScriptableFlowRunner ビルダーオブジェクトを作成し、それを使用して特定のレコードの承認アクションを実行する方法を示します。ScriptableFlowRunnerResult オブジェクトは、実行の引数とアクションの出力をキャプチャします。
(function() {
try {
var inputs = {};
inputs['sys_id'] = '57af7aec73d423002728660c4cf6a71c'; // Pass the record's sys_id in as input.
var result = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.action('global.markapproved') // Run the global scope action named markapproved.
.inForeground()
.inDomain('TOP/ACME') // Run the action from the TOP/ACME domain.
.withInputs(inputs)
.run(); // Run the action and return a FlowRunnerResult object.
var contextId = result.getContextId(); // Retrieve the context ID from the result
var dateRun = result.getDate();
var domainUsed = result.getDomainId(); // Retrieve the Domain ID from the result.
var flowName = result.getFlowObjectName();
var flowObjectType = result.getFlowObjectType();
var outputs = result.getOutputs(); // Retrieve any outputs from the action execution.
var newApprovalStatus = outputs['approval']; // Echo back the approval status for verification.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner - action(文字列 scopedActionName)
実行するアクションのスコープと名前を識別します。
| 名前 | タイプ | 説明 |
|---|---|---|
| scopedActionName | 文字列 | 実行するアクションのスコープと名前。例えば、global.actionName です。 |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
この例では、ScriptableFlowRunner ビルダーオブジェクトを作成し、それを使用して特定のレコードの承認アクションを実行する方法を示します。ScriptableFlowRunnerResult オブジェクトは、実行の引数とアクションの出力をキャプチャします。
(function() {
try {
var inputs = {};
inputs['sys_id'] = '57af7aec73d423002728660c4cf6a71c'; // Pass the record's sys_id in as input.
var result = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.action('global.markapproved') // Run the global scope action named markapproved.
.inForeground()
.inDomain('TOP/ACME') // Run the action from the TOP/ACME domain.
.withInputs(inputs)
.run(); // Run the action and return a FlowRunnerResult object.
var contextId = result.getContextId(); // Retrieve the context ID from the result
var dateRun = result.getDate();
var domainUsed = result.getDomainId(); // Retrieve the Domain ID from the result.
var flowName = result.getFlowObjectName();
var flowObjectType = result.getFlowObjectType();
var outputs = result.getOutputs(); // Retrieve any outputs from the action execution.
var newApprovalStatus = outputs['approval']; // Echo back the approval status for verification.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner - addInput(文字列 name, オブジェクト value)
入力を 1 つ追加します。引数として渡された名前が個別の入力としてすでに存在する場合、既存の値が新しい値に置き換えられます。
このメソッドでは入力を 1 つ追加します。オブジェクトを作成して複数の入力を追加するには、withInputs() メソッドを使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| name | 文字列 | フロー、サブフロー、またはアクションの入力の名前。 |
| value | オブジェクト | フロー、サブフロー、またはアクションの入力の値。 |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
この例では、table_nameという単一の入力を受け取るアクションを実行します。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.action('global.test_action')
.addInput('table_name', 'incident')
.inForeground()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
出力:
Flow Designer: TableName
*** Script: FlowRunnerResult
Flow Object Name: global.test_action
Flow Object Type: action
Domain: null
Result Time: 2020-06-09 00:10:57
ContextId: null
Output count: 1
ScriptableFlowRunner - asUser()
迅速なバックグラウンド実行のため、システムではなく、フローをトリガーしたユーザーとしてフローを実行します。
asUser() メソッドと quick() を一緒に使用してフローがトリガーされると、フローをトリガーしたユーザーが取得され、フローの実行に使用されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner - スコープ指定 | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
(function() {
try {
var outputs = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.flow('global.stry53225960_flow_asuser_test')
.inForeground()
.quick() //Run the flow from a server-side script.
.asUser() //Run flow with the roles specified in the flow.
.run(); // Run the action and return a FlowRunnerResult object.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();エラー
- asUser() を quick()と一緒に使用しないと、スクリプトからエラーが返される。
- ロールが定義されたフローで asUser() が呼び出されると、スクリプトからエラーが返される。
- withRoles() メソッドと asUser() メソッドが同時に呼び出されると、スクリプトからエラーが返される。
ScriptableFlowRunner - datastream(文字列 scopedDatastreamName)
実行するデータストリームアクションのスコープと名前を識別します。
データストリームアクションの詳細については、「 データストリームアクションとページネーション」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| scopedDatastreamName | 文字列 | 実行するデータストリームアクションのスコープと名前。例えば、global.dataStreamActionName です。 |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
この例では、データストリームアクションを実行する方法を示します。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.datastream('global.test_dsa')
.inForeground()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
出力:
*** Script: FlowRunnerResult
Flow Object Name: global.test_dsa
Flow Object Type: datastream
Domain: null
Result Time: 2020-06-08 16:41:13
ContextId: null
Output count: 0
ScriptableFlowRunner - flow(文字列 scopedFlowName)
実行するフローのスコープと名前を識別します。
| 名前 | タイプ | 説明 |
|---|---|---|
| scopedFlowName | 文字列 | 実行するフローのスコープと名前。例えば、global.flowName です。 |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
この例は、メッセージをログに記録するフローの実行方法を示しています。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.inForeground()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
出力:
*** Script: FlowRunnerResult
Flow Object Name: global.test_flow
Flow Object Type: flow
Domain: null
Result Time: 2020-06-08 16:41:13
ContextId: null
Output count: 0
ScriptableFlowRunner - inBackground()
フロー、サブフロー、またはアクションを非同期的に実行します。フローオブジェクトの実行が開始されると、すぐにスクリプトの実行が再開されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
この例では、バックグラウンドでフローを非同期に実行する方法を示します。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.change__unauthorized__review')
.inBackground()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
出力:
[0:00:01.015] Script completed in scope global: script
––––––––––––––––––––––––––––––––––––––––––––––––––––--
Script execution history and recovery available here
Operation Table Row Count
insert sys_flow_context_inputs_chunk 1
insert sys_flow_context 1
––––––––––––––––––––––––––––––––––––––––––––––––––––--
Complex type redefined: FlowDesigner:FDCollection
Queued flow.fire event in NowMQ for sys_flow_context.sys_id: e0cd6e30b8b602104a8752ad4a9167c8,
sysevent.sys_id: 34cd6e30dbb60210497c1a48139619c9, with priority 5
*** Script: FlowRunnerResult
Flow Object Name: global.change__unauthorized__review
Flow Object Type: flow
Domain: null
Result Time: 2024-06-12 17:54:58
ContextId: e0cd6e30b8b602104a8752ad4a9167c8
Output count: 0
ScriptableFlowRunner - inDomain(文字列 domainId)
指定されたドメインでフロー、サブフロー、またはアクションを実行します。ドメインが存在し、利用可能であることを確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| domainId | 文字列 | フローの実行ドメインの sys_id または名前。 |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
この例では、ScriptableFlowRunner ビルダーオブジェクトを作成し、それを使用して特定のレコードの承認アクションを実行する方法を示します。ScriptableFlowRunnerResult オブジェクトは、実行の引数とアクションの出力をキャプチャします。
(function() {
try {
var inputs = {};
inputs['sys_id'] = '57af7aec73d423002728660c4cf6a71c'; // Pass the record's sys_id in as input.
var result = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.action('global.markapproved') // Run the global scope action named markapproved.
.inForeground()
.inDomain('TOP/ACME') // Run the action from the TOP/ACME domain.
.withInputs(inputs)
.run(); // Run the action and return a FlowRunnerResult object.
var contextId = result.getContextId(); // Retrieve the context ID from the result
var dateRun = result.getDate();
var domainUsed = result.getDomainId(); // Retrieve the Domain ID from the result.
var flowName = result.getFlowObjectName();
var flowObjectType = result.getFlowObjectType();
var outputs = result.getOutputs(); // Retrieve any outputs from the action execution.
var newApprovalStatus = outputs['approval']; // Echo back the approval status for verification.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner - inForeground()
フロー、サブフロー、またはアクションを同期的に実行します。フローオブジェクトの実行中は、スクリプトの実行が一時停止します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
この例では、ScriptableFlowRunner ビルダーオブジェクトを作成し、それを使用して特定のレコードの承認アクションを実行する方法を示します。ScriptableFlowRunnerResult オブジェクトは、実行の引数とアクションの出力をキャプチャします。
(function() {
try {
var inputs = {};
inputs['sys_id'] = '57af7aec73d423002728660c4cf6a71c'; // Pass the record's sys_id in as input.
var result = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.action('global.markapproved') // Run the global scope action named markapproved.
.inForeground()
.inDomain('TOP/ACME') // Run the action from the TOP/ACME domain.
.withInputs(inputs)
.run(); // Run the action and return a FlowRunnerResult object.
var contextId = result.getContextId(); // Retrieve the context ID from the result
var dateRun = result.getDate();
var domainUsed = result.getDomainId(); // Retrieve the Domain ID from the result.
var flowName = result.getFlowObjectName();
var flowObjectType = result.getFlowObjectType();
var outputs = result.getOutputs(); // Retrieve any outputs from the action execution.
var newApprovalStatus = outputs['approval']; // Echo back the approval status for verification.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner - quick()
実行の詳細やその他の関連レコードを作成せずに、サーバー側のスクリプトから、フロー、サブフロー、アクション、またはデータストリームアクションを同期または非同期で実行します。レコード保持のオーバーヘッドをなくすことで、パフォーマンスを向上させます。 この API を使用すると、本番環境での大量の処理 (1 秒あたり複数実行など) の速度が向上します。
- レポートと生成されたレコード
- このメソッドは、ワークフロースタジオ 設定に関係なく、実行の詳細とコンテキストレコードを作成しません。
- 待機条件のサポート
- このメソッドは、アクションまたはフローを一時停止して条件を待機することはサポートしていません。「承認を求める」、「条件待ち」、「期間の待機」などの待機条件で一時停止するアクション、フローロジック、およびステップはサポートされていません。
- MID サーバーのサポート
- このメソッドは、MID サーバーから実行するアクションまたはフローの一時停止はサポートしていません。MID サーバーから実行するアクションを一時停止するデータストリームアクション前処理スクリプトも、この制約の対象となります。
- データストリームアクションのサポート
- このメソッドは、MID サーバーから前処理スクリプトを実行するデータストリームアクションの一時停止をサポートしていません。
- フロー優先度のサポート
- このメソッドは、フロー優先度設定をサポートしています。フローは指定されたフロー優先度で実行されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
この例では、関連レコードを作成せずにフローを実行する方法を示します。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.change__unauthorized__review')
.inBackground()
.quick()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
出力:
Complex type redefined: FlowDesigner:FDCollection
Queued flow.run.quick event in NowMQ for sys_flow_context.sys_id: d81781ec57801110403e8f90ac94f90e,
sysevent.sys_id: 48abe270dbf20210497c1a4813961908, with priority 5
*** Script: FlowRunnerResult
Flow Object Name: global.change__unauthorized__review
Flow Object Type: flow
Domain: null
Result Time: 2024-06-12 17:45:37
ContextId: 08abe2706cf202107b7d3b283f7ee108
Output count: 0
ScriptableFlowRunner - run()
指定されたパラメーターでフロー、サブフロー、またはアクションを実行します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunnerResultsScoped | ワークフロースタジオ アクション、フロー、またはサブフローの実行の詳細を含むオブジェクト。 |
この例では、ScriptableFlowRunner ビルダーオブジェクトを作成し、それを使用して特定のレコードの承認アクションを実行する方法を示します。ScriptableFlowRunnerResult オブジェクトは、実行の引数とアクションの出力をキャプチャします。
(function() {
try {
var inputs = {};
inputs['sys_id'] = '57af7aec73d423002728660c4cf6a71c'; // Pass the record's sys_id in as input.
var result = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.action('global.markapproved') // Run the global scope action named markapproved.
.inForeground()
.inDomain('TOP/ACME') // Run the action from the TOP/ACME domain.
.withInputs(inputs)
.run(); // Run the action and return a FlowRunnerResult object.
var contextId = result.getContextId(); // Retrieve the context ID from the result
var dateRun = result.getDate();
var domainUsed = result.getDomainId(); // Retrieve the Domain ID from the result.
var flowName = result.getFlowObjectName();
var flowObjectType = result.getFlowObjectType();
var outputs = result.getOutputs(); // Retrieve any outputs from the action execution.
var newApprovalStatus = outputs['approval']; // Echo back the approval status for verification.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner - subflow(文字列 scopedSubflowName)
実行するサブフローのスコープと名前を識別します。
| 名前 | タイプ | 説明 |
|---|---|---|
| scopedSubflowName | 文字列 | 実行するサブフローのスコープと名前。例えば、global.subflowName です。 |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
この例では、メッセージをログに記録するサブフローを実行する方法を示します。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.subflow('global.output_test')
.inForeground()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
出力:
record-watcher asynchronous tracking complete - time: 1 ms. Executed responders: 1
record-watcher asynchronous tracking complete - time: 1 ms. Executed responders: 1
*** Script: FlowRunnerResult
Flow Object Name: global.output_test
Flow Object Type: subflow
Domain: null
Result Time: 2024-08-02 22:52:08
ContextId: b2dxx659bebf01101d72200x503x19pr
Output count: 2
ScriptableFlowRunner - timeout(数字 timeout)
フロー、サブフロー、またはアクション実行のタイムアウトを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| timeout | 数字 | タイムアウト (ミリ秒単位)。 |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
この例では、フローを実行し、タイムアウトを 2 分に設定する方法を示します。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.inForeground()
.timeout(120000)
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
出力:
Flow Designer: Cloning a new session to run as as user id: [user_name] from original user session: [user_name]
Flow Designer: Reverting cloned session to original user session: [user_name]
*** Script: FlowRunnerResult
Flow Object Name: global.test_flow
Flow Object Type: flow
Domain: null
Result Time: 2020-06-08 18:22:35
ContextId: null
Output count: 0
ScriptableFlowRunner - validateInputs(ブール値 validateInputs)
いずれかのメソッド入力に予期しない値がある場合、エラーをスローし、ScriptableFlowRunner クラスが実行されないようにします。このメソッドのデフォルトは、すべての ScriptableFlowRunner 呼び出しに対して true です。
| 名前 | タイプ | 説明 |
|---|---|---|
| 入力を検証 | ブール | ScriptableFlowRunner メソッドの入力を検証するかどうかを示すフラグ。 有効な値は 2 つあります。
デフォルト:True |
| タイプ | 説明 |
|---|---|
| なし |
この例では、メソッドの入力値を検証せずにフローを実行する方法を示します。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.inForeground()
.validateInputs(false)
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
出力:
*** Script: FlowRunnerResult
Flow Object Name: global.test_flow
Flow Object Type: flow
Domain: null
Result Time: 2020-06-08 16:41:13
ContextId: null
Output count: 0
ScriptableFlowRunner - withConnectionAliasOverride(文字列 aliasName, 文字列 overrideName)
フロー、アクション、またはサブフローに関連付けられた 接続情報と認証情報 エイリアスを上書きします。デフォルトの親エイリアスを、いずれかの子エイリアスで上書きできます。
接続情報と認証情報エイリアスの上書きの詳細については、「複数の接続のサポート」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| parentAliasSysID | 文字列 | 親エイリアス (上書きするエイリアス) の sys_id。 |
| overrideAliasSysID | 文字列 | 子エイリアス (フロー、サブフロー、またはアクションの実行時に使用するエイリアス) の sys_id。 |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
この例は、フローに関連付けられたデフォルトと異なるエイリアスを使用してフローを実行する方法を示しています。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.withConnectionAliasOverride('sn_original_alias.spoke', 'x_new_alias.spoke')
.inForeground()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner - withInputs(マップ inputs)
入力のコレクションを追加します。名前と値のペアのいずれかに名前がすでに存在する場合、既存の値が新しい値に置き換えられます。
| 名前 | タイプ | 説明 |
|---|---|---|
| inputs | オブジェクト | フロー、サブフロー、またはアクションの入力を定義する名前と値のペアを含むマップオブジェクト。 |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
入力オブジェクトを作成し、値を withInputs() メソッドに渡します。
(function() {
try {
var inputs = {};
inputs['sys_id'] = '57af7aec73d423002728660c4cf6a71c'; // Pass the record's sys_id in as input.
var result = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.action('global.markapproved') // Run the global scope action named markapproved.
.inForeground()
.inDomain('TOP/ACME') // Run the action from the TOP/ACME domain.
.withInputs(inputs)
.run(); // Run the action and return a FlowRunnerResult object.
var contextId = result.getContextId(); // Retrieve the context ID from the result
var dateRun = result.getDate();
var domainUsed = result.getDomainId(); // Retrieve the Domain ID from the result.
var flowName = result.getFlowObjectName();
var flowObjectType = result.getFlowObjectType();
var outputs = result.getOutputs(); // Retrieve any outputs from the action execution.
var newApprovalStatus = outputs['approval']; // Echo back the approval status for verification.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner - withRoles()
フローをトリガーしたユーザーとしてフローを実行するか、ワークフロースタジオ で追加されたロールでフローを実行します。
withRoles() メソッドと一緒に quick() を使用してフローがトリガーされると、フロープロパティで定義されたロールが取得されてフロー実行中に渡され、そのロールでフローが実行されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ScriptableFlowRunner - スコープ指定 | ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。 |
(function() {
try {
var outputs = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.flow('global.stry53225960_flow')
.inForeground()
.quick() //Run the flow from a server-side script.
.withRoles() //Run the flow as the user who triggered the flow.
.run(); // Run the action and return a FlowRunnerResult object.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();エラー
- withRoles() を quick()と一緒に使用しないと、操作が実行されない。
- ロールを持たないフローで withRoles() が呼び出されると、スクリプトからエラーが返される。
- withRoles() メソッドと asUser() メソッドが同時に呼び出されると、スクリプトからエラーが返される。