ScriptableFlowRunnerResult - スコープ指定

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む11読むのに数分
  • ScriptableFlowRunner を使用してフロー、サブフロー、またはアクションを実行した結果をキャプチャします。コンテキスト ID、ドメイン、フロー実行の出力などのデータが含まれます。

    これらのメソッドは、サーバー側スクリプトで sn_fd 名前空間識別子とともに使用します。

    API 呼び出し順

    フロー、サブフロー、およびアクションは、API を次の順番で使用して構築および実行します。

    1. FlowAPI:ビルダーオブジェクトを作成する
    getRunner() を使用して ScriptableFlowRunner ビルダーオブジェクトをインスタンス化します。
    2. ScriptableFlowRunner:実行する フローデザイナー コンテンツを指定する
    下記のメソッドを次の順番で使用して、ビルダーパターンを作成します。
    1. action()datastream()flow()subflow() メソッドのいずれかを使用して、構築する フローデザイナー オブジェクトのタイプを指定します。
    2. addInput()inDomain()quick() などのメソッドを 1 つまたは複数使用して、実行パラメーターを指定します。
    3. 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()

    完了した フローデザイナー のアクション、フロー、またはサブフローの出力を返します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    表 : 2. 返される内容
    タイプ 説明
    オブジェクト 完了した フローデザイナー のアクション、フロー、またはサブフローの出力を含むオブジェクト。

    この例は、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()

    フローデザイナー のオブジェクト実行のタイプを返します。

    表 : 3. パラメーター
    名前 タイプ 説明
    なし
    表 : 4. 返される内容
    タイプ 説明
    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);
      }
    
    })();
    出力:
    flow

    ScriptableFlowRunnerResult - getFlowObjectName()

    フローデザイナー のアクション、フロー、またはサブフロー実行のスコープと内部名を返します。

    表 : 5. パラメーター
    名前 タイプ 説明
    なし
    表 : 6. 返される内容
    タイプ 説明
    文字列 フローデザイナー のアクション、フロー、またはサブフロー実行のスコープと内部名。たとえば、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_flow

    ScriptableFlowRunnerResult - getDomainId()

    フローデザイナー のアクション、フロー、またはサブフローが実行されたドメインの sys_id を返します。

    表 : 7. パラメーター
    名前 タイプ 説明
    なし
    表 : 8. 返される内容
    タイプ 説明
    文字列 フローデザイナー のアクション、フロー、またはサブフローが実行されたドメインの 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);
      }
    
    })();
    出力:
    4ecead85a4da1110598d0c7d6bf75554

    ScriptableFlowRunnerResult - getDate()

    フローデザイナー のアクション、フロー、またはサブフローが実行された日時を GlideDateTime オブジェクトとして返します。

    表 : 9. パラメーター
    名前 タイプ 説明
    なし
    表 : 10. 返される内容
    タイプ 説明
    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:42

    ScriptableFlowRunnerResult - getDataStream()

    データストリームアクションからデータのストリームを返します。

    ScriptableFlowRunner ビルダークラスで datastream() メソッドが使用された場合、データのストリームを ScriptableDataStream オブジェクトとして返します。ストリーム内のアイテムを反復処理するには、ScriptableDataStream クラスを使用します。「ScriptableDataStream」を参照してください。

    データストリームアクションの詳細については、「 データストリームアクションとページネーション」を参照してください。

    表 : 11. パラメーター
    名前 タイプ 説明
    なし    
    表 : 12. 返される内容
    タイプ 説明
    ScriptableDataStream データストリーム内のアイテムの反復処理に使用できる ScriptableDataStream オブジェクト。ScriptableDataStream クラスのメソッドを使用して、このオブジェクトを操作します。「ScriptableDataStream」を参照してください。

    この例では、ScriptableFlowRunnerResult オブジェクトからデータストリームを取得する方法を示します。

    var datastream = result.getDataStream();

    ScriptableFlowRunnerResult - getContextId()

    フロー、サブフロー、またはアクションのコンテキスト ID を返します。

    表 : 13. パラメーター
    名前 タイプ 説明
    なし
    表 : 14. 返される内容
    タイプ 説明
    文字列 アクション、フロー、またはサブフローに対する フローデザイナー の実行詳細レコードの sys_id。

    この例は、ScriptableFlowRunnerResult オブジェクトからコンテキスト ID を取得する方法を示しています。

    var contextId = result.getContextId();
    出力:
    4ecead85c4da1110598d0c7d6bf73554

    ScriptableFlowRunnerResult - debug()

    コンテキスト ID、ドメイン ID、実行出力など、実行されたフロー、サブフロー、またはアクションに関する情報を返します。

    表 : 15. パラメーター
    名前 タイプ 説明
    なし
    表 : 16. 返される内容
    タイプ 説明
    文字列 フローデザイナー のアクション、フロー、またはサブフローの実行に関する実行の詳細。
    • flow object name:フロー、サブフロー、またはアクションの名前。
    • flow object type:フロー、サブフロー、アクション、またはデータストリームアクション。
    • domain ID:フロー、サブフロー、またはアクションが実行されたドメインの ID。
    • result time:実行にかかった時間。
    • context ID:アクション、フロー、またはサブフローに対する フローデザイナー の実行詳細レコードの sys_id。
    • output count:アクションまたはサブフローの出力の数。

    この例では、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