ScriptableFlowRunnerResult - スコープ指定
ScriptableFlowRunner を使用してフロー、サブフロー、またはアクションを実行した結果をキャプチャします。コンテキスト ID、ドメイン、フロー実行の出力などのデータが含まれます。
これらのメソッドは、サーバー側スクリプトで 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);
}
})();
ScriptableFlowRunnerResult - getOutputs()
完了した フローデザイナー のアクション、フロー、またはサブフローの出力を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| オブジェクト | 完了した フローデザイナー のアクション、フロー、またはサブフローの出力を含むオブジェクト。 |
この例は、ScriptableFlowRunner API で フローデザイナー のアクション、フロー、またはサブフローから出力を取得する方法を示しています。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.action('global.test_action')
.inForeground()
.timeout(12000)
.run();
gs.info(result.getOutputs());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
Flow Designer: Warning. This is an important log message. ScriptableFlowRunnerResult - getFlowObjectType()
フローデザイナー のオブジェクト実行のタイプを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| FlowObjectType | 実行する フローデザイナー オブジェクトのタイプ。アクション、フロー、またはサブフローのいずれかです。 |
この例は、ScriptableFlowRunnerResult API からフローオブジェクトのタイプを取得する方法を示しています。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.inForeground()
.timeout(12000)
.run();
gs.info(result.getFlowObjectType());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
flowScriptableFlowRunnerResult - getFlowObjectName()
フローデザイナー のアクション、フロー、またはサブフロー実行のスコープと内部名を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | フローデザイナー のアクション、フロー、またはサブフロー実行のスコープと内部名。たとえば、global.emailflow です。 |
この例は、ScriptableFlowRunnerResult オブジェクトからフローやサブフローの名前、またはアクション名を取得する方法を示しています。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.inForeground()
.timeout(12000)
.run();
gs.info(result.getFlowObjectName());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
global.test_flowScriptableFlowRunnerResult - getDomainId()
フローデザイナー のアクション、フロー、またはサブフローが実行されたドメインの sys_id を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | フローデザイナー のアクション、フロー、またはサブフローが実行されたドメインの sys_id。 |
この例は、ScriptableFlowRunnerResult オブジェクトからドメイン ID を取得する方法を示しています。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.inForeground()
.inDomain('TOP/ACME')
.timeout(12000)
.run();
gs.info(result.getDomainId());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
4ecead85a4da1110598d0c7d6bf75554ScriptableFlowRunnerResult - getDate()
フローデザイナー のアクション、フロー、またはサブフローが実行された日時を GlideDateTime オブジェクトとして返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| GlideDateTime | フロー、サブフロー、またはアクションの実行日時。 |
この例では、ScriptableFlowRunnerResult オブジェクトからフロー実行の日時を取得する方法を示します。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.inForeground()
.timeout(12000)
.run();
gs.info(result.getDate());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
2020-05-22 18:45:42ScriptableFlowRunnerResult - getDataStream()
データストリームアクションからデータのストリームを返します。
ScriptableFlowRunner ビルダークラスで datastream() メソッドが使用された場合、データのストリームを ScriptableDataStream オブジェクトとして返します。ストリーム内のアイテムを反復処理するには、ScriptableDataStream クラスを使用します。「ScriptableDataStream」を参照してください。
データストリームアクションの詳細については、「 データストリームアクションとページネーション」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ScriptableDataStream | データストリーム内のアイテムの反復処理に使用できる ScriptableDataStream オブジェクト。ScriptableDataStream クラスのメソッドを使用して、このオブジェクトを操作します。「ScriptableDataStream」を参照してください。 |
この例では、ScriptableFlowRunnerResult オブジェクトからデータストリームを取得する方法を示します。
var datastream = result.getDataStream();
ScriptableFlowRunnerResult - getContextId()
フロー、サブフロー、またはアクションのコンテキスト ID を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | アクション、フロー、またはサブフローに対する フローデザイナー の実行詳細レコードの sys_id。 |
この例は、ScriptableFlowRunnerResult オブジェクトからコンテキスト ID を取得する方法を示しています。
var contextId = result.getContextId();
4ecead85c4da1110598d0c7d6bf73554ScriptableFlowRunnerResult - debug()
コンテキスト ID、ドメイン ID、実行出力など、実行されたフロー、サブフロー、またはアクションに関する情報を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | フローデザイナー のアクション、フロー、またはサブフローの実行に関する実行の詳細。
|
この例では、ScriptableFlowRunnerResult オブジェクトから、実行されたフロー、サブフロー、またはアクションに関する情報を取得する方法を示します。
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.inForeground()
.timeout(12000)
.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 18:28:41
ContextId: null
Output count: 0