---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideFlow - クライアント

# GlideFlow - クライアント {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：11分

GlideFlow API は、アクション、フロー、およびサブフローとクライアント側でやり取りするためのメソッドを提供します。

この API は、クライアントスクリプトを受け入れるプラットフォーム内の任意の場所で使用できます。アクション、フロー、またはサブフローは、クライアント呼び出し可能として設定し、 ワークフロースタジオ のセキュリティ管理機能を使用して有効な ACL を持つ必要があります。

GlideFlow API 内のメソッドの中には、`promise` オブジェクトを返すものがあります。`promise` は、非同期操作の最終結果を表します。promise の詳細については、[Promise - Javascript MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) または [AngularJS のドキュメント](https://docs.angularjs.org/api/ng/service/$q)を参照してください。  
この API を使用して、次のことができます。

* スクリプトを使用してアクション、フロー、またはサブフローを開始する。
* 既存の実行を取得する。
* ステータスと利用可能な出力を取得する。
* アクション、フロー、またはサブフローの完了を待機する。
{#GlideFlowAPI__ul_bdk_tf2_xs}

GlideFlow API のコンストラクターはありません。`GlideFlow` グローバルオブジェクトを使用して GlideFlow メソッドにアクセスします。

## GlideFlow - execution.awaitCompletion() {#ariaid-title2}

実行の完了オブジェクトを返します。
{#execution-awaitCompletion__table_bqv_1q2_ffb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 1. パラメーター]

{#execution-awaitCompletion__table_bqv_1q2_ffb} {#execution-awaitCompletion__table_cqv_1q2_ffb__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | フローまたはアクション実行の完了の詳細を含むオブジェクト。 |
[表 : 2. 返される内容]

{#execution-awaitCompletion__table_cqv_1q2_ffb}  
この例では、実行オブジェクトを返す 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() {#ariaid-title3}

現在の実行の実行ステータスを含む文字列を返します。
{#execution-getExecutionStatus__table_utm_jp2_ffb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 3. パラメーター]

{#execution-getExecutionStatus__table_utm_jp2_ffb} {#execution-getExecutionStatus__table_vtm_jp2_ffb__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 実行ステータスを含む文字列。 |
[表 : 4. 返される内容]

{#execution-getExecutionStatus__table_vtm_jp2_ffb}  
この例では、コードは 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() {#ariaid-title4}

実行の出力オブジェクトを返します。
このメソッドを使用して、アクション、フロー、またはサブフローの実行によって生成された出力にアクセスします。
{#execution-getOutputs__table_jsw_f42_ffb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 5. パラメーター]

{#execution-getOutputs__table_jsw_f42_ffb} {#execution-getOutputs__table_ksw_f42_ffb__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | アクション、フロー、またはサブフローの出力を含むオブジェクト。 |
[表 : 6. 返される内容]

{#execution-getOutputs__table_ksw_f42_ffb}  
この例では、コードは 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) {#ariaid-title5}

ID で既存の実行インスタンスを取得します。
{#GlideFlow-getExecution__table_hpx_tqd_ffb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| executionId | 文字列 | 取得される実行の ID。 |
[表 : 7. パラメーター]

{#GlideFlow-getExecution__table_hpx_tqd_ffb} {#GlideFlow-getExecution__table_ipx_tqd_ffb__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | 実行オブジェクトの約束。 |
[表 : 8. 返される内容]

{#GlideFlow-getExecution__table_ipx_tqd_ffb}  
この例では、コードは実行を取得し、完了するまで待機してから実行完了ステータスをログに記録し、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) {#ariaid-title6}

アクションを開始します。
{#GlideFlow-startAction__table_q1w_r4d_ffb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| scopedName | 文字列 | 実行するフローのスコープ対象の名前。 |
| inputs | オブジェクト | アクションに対して定義された入力を含むオブジェクト。 |
[表 : 9. パラメーター]

{#GlideFlow-startAction__table_q1w_r4d_ffb} {#GlideFlow-startAction__table_r1w_r4d_ffb__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | アクション実行の詳細を含むオブジェクト。 |
[表 : 10. 返される内容]

{#GlideFlow-startAction__table_r1w_r4d_ffb}  
この例では、コードは入力オブジェクト変数の引数を使用してグローバル 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) {#ariaid-title7}

フローを開始します。
{#GlideFlow-startFlow__table_jl5_xqc_ffb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| scopedName | 文字列 | 実行するフローのスコープ対象の名前。 |
| inputs | オブジェクト | フローに対して定義された入力を含むオブジェクト。 |
[表 : 11. パラメーター]

{#GlideFlow-startFlow__table_jl5_xqc_ffb} {#GlideFlow-startFlow__table_kl5_xqc_ffb__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | フロー実行の詳細を含むオブジェクト。 |
[表 : 12. 返される内容]

{#GlideFlow-startFlow__table_kl5_xqc_ffb}  
この例のフローは、通常、インシデントテーブルのレコードが更新されたときに発生します。クライアントスクリプトからフローをアクティブ化しているため、この情報を指定する必要があります。このコードは、現在のレコードとそのレコードのテーブルを含む入力変数を作成します。


    // 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) {#ariaid-title8}

サブフローを開始します。
{#GlideFlow-startSubflow__table_ftt_5pd_ffb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| scopedName | 文字列 | 実行するフローのスコープ対象の名前。 |
| inputs | オブジェクト | サブフローに対して使用される入力を含むオブジェクト。 |
[表 : 13. パラメーター]

{#GlideFlow-startSubflow__table_ftt_5pd_ffb} {#GlideFlow-startSubflow__table_gtt_5pd_ffb__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | サブフロー実行の詳細を含むオブジェクト。 |
[表 : 14. 返される内容]

{#GlideFlow-startSubflow__table_gtt_5pd_ffb}  
この例では、コードは入力アレイ変数の引数を使用してグローバル 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);
    	}
    })();


