GlideFlow :クライアント
GlideFlow API は、アクション、フロー、およびサブフローをクライアントサイドで操作するためのメソッドを提供します。
GlideFlow API 内の一部のメソッドは promise オブジェクトを返します。promise は、非同期操作の最終結果を表します。promise の詳細については、Promise - Javascript MDN または AngularJS のドキュメントを参照してください。
- スクリプトを使用してアクション、フロー、またはサブフローを開始する。
- 既存の実行を取得する。
- ステータスと利用可能な出力を取得する。
- アクション、フロー、またはサブフローの完了を待機する。
GlideFlow API のコンストラクタはありません。GlideFlow グローバルオブジェクトを使用して GlideFlow メソッドにアクセスします。
GlideFlow - execution.awaitCompletion()
実行の完了オブジェクトを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| オブジェクト | フローまたはアクション実行の完了の詳細を含むオブジェクト。 |
この例では、実行オブジェクトを返す startAction() を使用してアクションが実行されます。次に、この実行オブジェクトに対して awaitCompletion() を使用して、完了オブジェクトを返します。コードはこの完了オブジェクトを使用して、実行内のステータスと出力を記録します。
(function() {
var inputs = {};
inputs['input1'] = 'string input'; // String
GlideFlow.startAction('global.action_name', inputs)
.then(function(execution) {
return execution.awaitCompletion();
}, errorResolver)
.then(function(completion) {
var status = completion.status;
console.log(status);
// Available Outputs:
var outputs = completion.outputs;
console.log(outputs);
}, errorResolver());
function errorResolver(error) {
// Handle errors in error resolver
console.error(error);
}
})();
GlideFlow - execution.getExecutionStatus()
現在の実行の実行ステータスを含む文字列を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 実行ステータスを含む文字列。 |
この例では、コードは getExecution メソッドを使用して実行オブジェクトを取得します。getExecution メソッドには、実行を開始するために使用されたメソッドによって返される ID が必要です。次に、getExecutionStatus() を使用して、続行する前に実行が完了したかどうかを判断します。
// Get an existing action, getStatus, and getOutputs if complete
(function() {
GlideFlow.getExecution('mamIN4Q35vmEFe744EwJV5GHrSz8fmJG')
.then(function(execution) {
execution.getExecutionStatus().then(
function(status) {
if (status === 'COMPLETE')
execution.getOutputs().then(
function(outputs) {
console.log(outputs);
},
errorResolver
);
},
errorResolver
);
}, errorResolver);
function errorResolver(error) {
// Handle errors in error resolver
console.error(error);
}
})();
GlideFlow - execution.getOutputs()
実行の出力オブジェクトを返します。
このメソッドを使用して、アクション、フロー、またはサブフローの実行によって生成された出力にアクセスします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| オブジェクト | アクション、フロー、またはサブフローの出力を含むオブジェクト。 |
この例では、コードは getExecution メソッドを使用して実行オブジェクトを取得します。実行が完了すると、コードは getOutputs() を使用して出力オブジェクトを返します。このオブジェクトは、console.log メソッドを使用してログに記録されます。
// Get an existing action, getStatus, and getOutputs if complete
(function() {
GlideFlow.getExecution('mamIN4Q35vmEFe744EwJV5GHrSz8fmJG')
.then(function(execution) {
execution.getExecutionStatus().then(
function(status) {
if (status === 'COMPLETE')
execution.getOutputs().then(
function(outputs) {
console.log(outputs);
},
errorResolver
);
},
errorResolver
);
}, errorResolver);
function errorResolver(error) {
// Handle errors in error resolver
console.error(error);
}
})();
GlideFlow - getExecution(文字列 executionId)
ID で既存の実行インスタンスを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| executionId | 文字列 | 取得される実行の ID。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | 実行オブジェクトの約束。 |
この例では、コードは実行を取得し、完了するまで待機してから実行完了ステータスをログに記録し、console.log を使用して出力します。
// Get an existing action and await completion
(function() {
GlideFlow.getExecution('79cd437e0b202300a150a95e93673ae3')
.then(function(execution) {
return execution.awaitCompletion();
}, errorResolver)
.then(function(completion) {
var status = completion.status;
console.log(status);
// Available Outputs:
var outputs = completion.outputs;
console.log(outputs);
}, errorResolver());
function errorResolver(error) {
// Handle errors in error resolver
console.error(error);
}
})();
GlideFlow - startAction(文字列 scopedName.actionName, マップ inputs)
アクションを開始します。
| 名前 | タイプ | 説明 |
|---|---|---|
| scopedName | 文字列 | 実行するフローのスコープ対象の名前。 |
| inputs | オブジェクト | アクションに対して定義された入力を含むオブジェクト。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | アクション実行の詳細を含むオブジェクト。 |
この例では、コードは入力オブジェクト変数の引数を使用してグローバル action_name アクションを開始します。完了すると、この例では、console.log または console.error を使用してフローの成功または失敗をレポートします。
// Start an action and await completion.
(function() {
var inputs = {};
inputs['input1'] = 'string input'; // String
GlideFlow.startAction('global.action_name', inputs)
.then(function(execution) {
return execution.awaitCompletion();
}, errorResolver)
.then(function(completion) {
var status = completion.status;
console.log(status);
// Available Outputs:
var outputs = completion.outputs;
console.log(outputs);
}, errorResolver());
function errorResolver(error) {
// Handle errors in error resolver
console.error(error);
}
})();
GlideFlow - startFlow(文字列 scopedName.flowName, マップ inputs)
フローを開始します。
| 名前 | タイプ | 説明 |
|---|---|---|
| scopedName | 文字列 | 実行するフローのスコープ対象の名前。 |
| inputs | オブジェクト | フローに対して定義された入力を含むオブジェクト。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | フロー実行の詳細を含むオブジェクト。 |
この例のフローは、通常、インシデントテーブルのレコードが更新されたときに発生します。クライアントスクリプトからフローをアクティブ化しているため、この情報を指定する必要があります。このコードは、現在のレコードとそのレコードのテーブルを含む入力変数を作成します。
// Start a Flow
(function() {
var inputs = {};
inputs['current'] = { // GlideRecord
table : 'incident',
sys_id : '79cd437e0b202300a150a95e93673ae3'
};
inputs['table_name'] = 'incident';
GlideFlow.startFlow('global.flow_name', inputs)
.then(
function(execution) {
console.log('Started flow_name with execution id :' + execution.getExecutionId());
},
function(error) {
console.log('Unable to start flow: ' + error);
}
);
})();
GlideFlow - startSubflow(文字列 scopedName.subflowName, マップ inputs)
サブフローを開始します。
| 名前 | タイプ | 説明 |
|---|---|---|
| scopedName | 文字列 | 実行するフローのスコープ対象の名前。 |
| inputs | オブジェクト | サブフローに対して使用される入力を含むオブジェクト。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | サブフロー実行の詳細を含むオブジェクト。 |
この例では、コードは入力アレイ変数の引数を使用してグローバル subflow_name サブフローを開始します。完了すると、この例では、console.log または console.error を使用してフローの成功または失敗をレポートします。
// Start an action and await completion.
(function() {
var inputs = {};
inputs['input1'] = 'string input'; // String
GlideFlow.startSubflow('global.subflow_name', inputs)
.then(function(execution) {
return execution.awaitCompletion();
}, errorResolver)
.then(function(completion) {
var status = completion.status;
console.log(status);
// Available Outputs:
var outputs = completion.outputs;
console.log(outputs);
}, errorResolver());
function errorResolver(error) {
// Handle errors in error resolver
console.error(error);
}
})();