ScriptableFlowRunner - スコープ指定

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む33読むのに数分
  • フロー、サブフロー、およびアクション実行のパラメーターを定義するために使用するビルダーオブジェクトを作成します。特定のドメインで実行するフローを指定できます。ビルダーから直接フロー、サブフロー、またはアクションの実行を開始し、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 - flow(文字列 scopedFlowName)

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

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

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

    表 : 5. パラメーター
    名前 タイプ 説明
    scopedSubflowName 文字列 実行するサブフローのスコープと名前。例えば、global.subflowName です。
    表 : 6. 返される内容
    タイプ 説明
    ScriptableFlowRunner フローデザイナー のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。
    (function() {
      try {
    
        var result = sn_fd.FlowAPI.getRunner()
          .subflow('global.test_subflow')
          .inForeground()
          .run();
    
        gs.info(result);
    
      } 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: Message to log
    Flow Designer: Reverting cloned session to original user session: [user_name]
    *** Script: FlowRunnerResult
    Flow Object Name: global.test_subflow
    Flow Object Type: flow
    Domain: null
    Result Time: 2020-06-08 16:41:13
    ContextId: null
    Output count: 0

    ScriptableFlowRunner - addInput(文字列 name, オブジェクト value)

    入力を 1 つ追加します。引数として渡された名前が個別の入力としてすでに存在する場合、既存の値が新しい値に置き換えられます。

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

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

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

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

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

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

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

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

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

    表 : 13. パラメーター
    名前 タイプ 説明
    なし
    表 : 14. 返される内容
    タイプ 説明
    ScriptableFlowRunner フローデザイナー のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。

    この例では、フローを非同期的に実行する方法を示します。

    (function() {
      try {
    
        var result = sn_fd.FlowAPI.getRunner()
          .flow('global.test_flow')
          .inBackground()
          .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: Message to log
    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 16:41:13
    ContextId: null
    Output count: 0

    ScriptableFlowRunner - inDomain(文字列 domainId)

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

    表 : 15. パラメーター
    名前 タイプ 説明
    domainId 文字列 フローの実行ドメインの sys_id または名前。
    表 : 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 - inForeground()

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

    注:
    このメソッドは、アクションを一時停止して条件を待機することはサポートしていません。「承認を求める」や「条件待ち」などの待機条件で一時停止するステップはサポートされていません。
    表 : 17. パラメーター
    名前 タイプ 説明
    なし
    表 : 18. 返される内容
    タイプ 説明
    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 Server のサポート
    このメソッドは、MID Server から実行するアクションまたはフローの一時停止はサポートしていません。MID Server から実行するアクションを一時停止するデータストリームアクション前処理スクリプトも、この制約の対象となります。
    データストリームアクションのサポート
    このメソッドは、MID Server から前処理スクリプトを実行するデータストリームアクションの一時停止をサポートしていません。
    表 : 19. パラメーター
    名前 タイプ 説明
    なし
    表 : 20. 返される内容
    タイプ 説明
    ScriptableFlowRunner フローデザイナー のアクション、フロー、またはサブフローを実行するために使用されるビルダーオブジェクト。

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

    (function() {
      try {
    
        var result = sn_fd.FlowAPI.getRunner()
          .flow('global.test_flow')
          .inForeground()
          .quick()
          .run();
    
        gs.info(result);
    
      } catch (ex) {
        var message = ex.getMessage();
        gs.error(message);
      }
    
    })();

    出力:

    Flow Designer: Message to log.
    *** Script: [object FlowRunnerResult]

    ScriptableFlowRunner - run()

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

    表 : 21. パラメーター
    名前 タイプ 説明
    なし
    表 : 22. 返される内容
    タイプ 説明
    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 - timeout(数字 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(文字列 aliasName, 文字列 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(マップ inputs)

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

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

    フローをトリガーしたユーザーとしてフローを実行するか、フローデザイナー で追加されたロールでフローを実行します。

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

    表 : 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() メソッドが同時に呼び出されると、スクリプトからエラーが返される。