ScriptableFlowRunner - スコープ指定

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:36分
  • フロー、サブフロー、およびアクション実行のパラメーターを定義するために使用するビルダーオブジェクトを作成します。特定のドメインで実行するフローを指定できます。ビルダーから直接フロー、サブフロー、またはアクションの実行を開始し、ScriptableFlowRunnerResult オブジェクトで結果を表示します。

    これらのメソッドは、サーバー側スクリプトで名前空間識別子を 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);
      }
    	
    })();
       

    ScriptableFlowRunner:action(文字列 scopedActionName)

    実行するアクションのスコープと名前を指定します。

    表 : 1. パラメーター
    名前 タイプ 説明
    scopedActionName 文字列 実行するアクションのスコープと名前。たとえば、 global.actionName です。
    表 : 2. 返される内容
    タイプ 説明
    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(文字列名, オブジェクト値)

    単一の入力を追加します。引数として渡された名前が別の入力として既に存在する場合は、既存の値が新しい値に置き換わります。

    このメソッドでは、単一の入力が追加されます。オブジェクトを作成して複数の入力を追加するには、 withInputs() メソッドを使用します。

    表 : 3. パラメーター
    名前 タイプ 説明
    name 文字列 フロー、サブフロー、またはアクションの入力の名前。
    value オブジェクト フロー、サブフロー、またはアクションの入力値。
    表 : 4. 返される内容
    タイプ 説明
    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()

    システムではなく、トリガーしたユーザーとしてフローを実行し、バックグラウンドで迅速に実行します。

    quick()asUser() メソッドを使用してフローがトリガーされると、フローをトリガーしたユーザーが取得され、フローの実行に使用されます。

    表 : 5. パラメーター
    名前 タイプ 説明
    なし
    表 : 6. 返される内容
    タイプ 説明
    ScriptableFlowRunner - スコープ指定 ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。
    この例では、ScriptableFlowRunner ビルダーオブジェクトを作成し、 それを使用して asUser() メソッドと quick() メソッドを使用して特定のレコードで承認アクションを実行する方法を示します。ScriptableFlowRunnerResult オブジェクトは、実行の引数とアクションの出力をキャプチャします。
    (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() メソッドの使用中に発生する可能性があります。
    • asUser()quick() と一緒に使用されていない場合、スクリプトはエラーを返します。
    • ロールが定義されているフローで asUser() が呼び出されると、スクリプトがエラーを返します。
    • withRoles() メソッドと asUser() メソッドが同時に呼び出されると、スクリプトはエラーを返します。

    ScriptableFlowRunner:datastream(文字列 scopedDatastreamName)

    実行するデータストリームアクションのスコープと名前を識別します。

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

    表 : 7. パラメーター
    名前 タイプ 説明
    scopedDatastreamName 文字列 実行するデータストリームアクションのスコープと名前。たとえば、 global.dataStreamActionName です。
    表 : 8. 返される内容
    タイプ 説明
    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)

    実行するフローのスコープと名前を指定します。

    表 : 9. パラメーター
    名前 タイプ 説明
    scopedFlowName 文字列 実行するフローのスコープと名前。例: global.flowName
    表 : 10. 返される内容
    タイプ 説明
    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()

    フロー、サブフロー、またはアクションを非同期で実行します。フローオブジェクトの実行が開始されると、スクリプトの実行はすぐに再開されます。

    表 : 11. パラメーター
    名前 タイプ 説明
    なし
    表 : 12. 返される内容
    タイプ 説明
    ScriptableFlowRunner ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。
    注:
    Xanadu リリースの時点で、quick() メソッドを使用してバックグラウンドでアクション、フロー、またはサブフローを実行すると、実行 ID が ContextId 値として返されます。フローコンテキスト [sys_flow_context] テーブルにレコードが挿入されていないため、実行 ID は実際のコンテキストレコードではありません。代わりに、実行 ID を使用して非同期呼び出しを追跡します。

    この例では、バックグラウンドでフローを非同期に実行する方法を示します。

    (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)

    指定されたドメインでフロー、サブフロー、またはアクションを実行します。ドメインが存在し、利用可能であることを確認します。

    表 : 13. パラメーター
    名前 タイプ 説明
    ドメイン ID 文字列 フローの実行ドメインのsys_idまたは名前。
    表 : 14. 返される内容
    タイプ 説明
    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()

    フロー、サブフロー、またはアクションを同期的に実行します。フローオブジェクトの実行中にスクリプトの実行が一時停止します。

    注:
    このメソッドは、アクションを一時停止して条件を待機することはサポートしていません。「承認を求める」や「条件待ち」などの待機条件で一時停止するステップはサポートされていません。
    表 : 15. パラメーター
    名前 タイプ 説明
    なし
    表 : 16. 返される内容
    タイプ 説明
    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 サーバーから前処理スクリプトを実行するデータストリームアクションの一時停止をサポートしていません。
    フロー優先度のサポート
    このメソッドは、フロー優先度設定をサポートしています。フローは指定されたフロー優先度で実行されます。
    表 : 17. パラメーター
    名前 タイプ 説明
    なし
    表 : 18. 返される内容
    タイプ 説明
    ScriptableFlowRunner ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。
    注:
    Xanadu リリースの時点で、quick() メソッドを使用してバックグラウンドでアクション、フロー、またはサブフローを実行すると、実行 ID が ContextId 値として返されます。フローコンテキスト [sys_flow_context] テーブルにレコードが挿入されていないため、実行 ID は実際のコンテキストレコードではありません。代わりに、実行 ID を使用して非同期呼び出しを追跡します。

    この例では、関連レコードを作成せずにフローを実行する方法を示します。

    (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()

    指定したパラメーターを使用してフロー、サブフロー、またはアクションを実行します。

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

    実行するサブフローのスコープと名前を指定します。

    表 : 21. パラメーター
    名前 タイプ 説明
    scopedSubflowName 文字列 実行するサブフローのスコープと名前。例: global.subflowName
    表 : 22. 返される内容
    タイプ 説明
    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(数値タイムアウト)

    フロー、サブフロー、またはアクション実行のタイムアウトを設定します。

    表 : 23. パラメーター
    名前 タイプ 説明
    timeout 番号 タイムアウト (ミリ秒単位)。
    表 : 24. 返される内容
    タイプ 説明
    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 です。

    表 : 25. パラメーター
    名前 タイプ 説明
    validateInput ブーリアン ScriptableFlowRunner メソッドの入力を検証するかどうかを示すフラグ。
    有効な値は 2 つあります。
    • true:入力に予期しない値がある場合にエラーをスローし、スクリプトの実行を停止します。
    • false:予期しない値でもスクリプトを実行する可能性があります。

    デフォルト:True

    表 : 26. 返される内容
    タイプ 説明
    なし

    この例では、メソッドの入力値を検証せずにフローを実行する方法を示します。

    (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(String aliasName, String overrideName)

    フロー、アクション、またはサブフローに関連付けられた 接続情報と認証情報 エイリアスを上書きします。デフォルトの親エイリアスをその子エイリアスで上書きできます。

    接続情報と認証情報エイリアスのオーバーライドの詳細については、「複数接続のサポート」を参照してください。

    表 : 27. パラメーター
    名前 タイプ 説明
    parentAliasSysID 文字列 親エイリアスのsys_id、上書きするエイリアス。
    overrideAliasSysID 文字列 子エイリアスのsys_id。フロー、サブフロー、またはアクションを実行するときに使用するエイリアスです。
    表 : 28. 返される内容
    タイプ 説明
    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(マップ入力)

    入力のコレクションを追加します。名前と値のペアのいずれかに名前が既に存在する場合は、既存の値が新しい値に置き換わります。

    表 : 29. パラメーター
    名前 タイプ 説明
    入力 オブジェクト フロー、サブフロー、またはアクションの入力を定義する名前と値のペアを含むマップオブジェクト。
    表 : 30. 返される内容
    タイプ 説明
    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()

    フローをトリガーしたユーザーとしてフローを実行するか、 ワークフロースタジオに追加されたロールを使用してフローを実行します。

    quick()withRoles() メソッドとともに使用してフローがトリガーされると、フロープロパティで定義されたロールが取得され、フローの実行中に渡され、ロールを使用してフローが実行されます。

    表 : 31. パラメーター
    名前 タイプ 説明
    なし
    表 : 32. 返される内容
    タイプ 説明
    ScriptableFlowRunner - スコープ指定 ワークフロースタジオ のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。
    この例では、ScriptableFlowRunner ビルダーオブジェクトを作成し、それを使用して withRoles() メソッドと quick() メソッドを使用して特定のレコードで承認アクションを実行する方法を示します。ScriptableFlowRunnerResult オブジェクトは、実行の引数とアクションの出力をキャプチャします。
    (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() メソッドの使用中に、次のエラーが発生する可能性があります。
    • withRoles() は、 quick() と一緒に使用されない場合、操作を実行しません。
    • ロールを持たないフローで withRoles() が呼び出されると、スクリプトがエラーを返します。
    • withRoles() メソッドと asUser() メソッドが同時に呼び出されると、スクリプトはエラーを返します。