ScriptableFlowRunnerResult - com escopo

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 5 min. de leitura
  • Captura o resultado do uso de ScriptableFlowRunner para executar um fluxo, subfluxo ou ação. Inclui dados como ID de contexto, domínio e quaisquer saídas da execução do fluxo.

    Use esses métodos em seus scripts do lado do servidor com o identificador de namespace sn_fd.

    Pedido de chamada de API

    Crie e execute fluxos, subfluxos e ações usando essas APIs na seguinte ordem:

    1. FlowAPI: cria um objeto de construtor
    Use getRunner() para criar uma instância do objeto do construtor ScriptableFlowRunner.
    2. ScriptableFlowRunner: especifique o conteúdo Flow Designer a ser executado
    Use esses métodos na seguinte ordem para criar o padrão do construtor:
    1. Use um dos métodos action(), datastream(), flow()ou subflow() para especificar que tipo de objeto Flow Designer criar.
    2. Use um ou mais métodos, como addInput(), inDomain()ou quick() para especificar parâmetros de execução.
    3. Use o método run() para executar a ação, o fluxo ou o subfluxo com os parâmetros fornecidos e retornar um objeto ScriptableFlowRunnerResult.
    3. ScriptableFlowRunnerResult: recuperar Flow Designer detalhes de execução
    Use um ou mais métodos, como getContextId(), getOutputs()e getDomainId() para exibir os detalhes da execução.

    Exemplo

    Este exemplo mostra como criar um objeto de construtor ScriptableFlowRunner e o usa para executar uma ação de aprovação em um registro específico. Um objeto ScriptableFlowRunnerResult captura os argumentos de execução e as saídas da ação.

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

    Retorna as saídas de uma ação Flow Designer, fluxo ou subfluxo concluído.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 2. Retorna
    Tipo Descrição
    Objeto Objeto que contém a saída de uma ação Flow Designer, fluxo ou subfluxo concluído.

    Este exemplo mostra como recuperar as saídas de uma execução de ação Flow Designer, fluxo ou subfluxo com a API ScriptableFlowRunner.

    (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);
      }
    
    })();
    Saída:
    Flow Designer: Warning. This is an important log message. 

    ScriptableFlowRunnerResult – getFlowObjectType()

    Retorna o tipo de execução de objeto Flow Designer.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    Tipo Descrição
    FlowObjectType O tipo de execução de objeto Flow Designer, que é ação, fluxo ou subfluxo.

    Este exemplo mostra como recuperar o tipo de objeto de fluxo da API ScriptableFlowRunnerResult.

    (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);
      }
    
    })();
    Saída:
    flow

    ScriptableFlowRunnerResult – getFlowObjectName()

    Retorna o escopo e o nome interno da ação Flow Designer, fluxo ou execução de subfluxo.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 6. Retorna
    Tipo Descrição
    Cadeia de caracteres O escopo e o nome interno da ação Flow Designer, fluxo ou execução de subfluxo. Por exemplo, global.emailflow.

    Este exemplo mostra como recuperar o nome do fluxo, subfluxo ou nome da ação de um objeto 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);
      }
    
    })();
    Saída:
    global.test_flow

    ScriptableFlowRunnerResult – getDomainId()

    Retorna o sys_id do domínio em que a ação Flow Designer, fluxo ou subfluxo foi executado.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 8. Retorna
    Tipo Descrição
    Cadeia de caracteres O sys_id do domínio em que a ação Flow Designer, fluxo ou subfluxo foi executado.

    Este exemplo mostra como recuperar um ID de domínio de um objeto ScriptableFlowRunnerResult.

    (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);
      }
    
    })();
    Saída:
    4ecead85a4da1110598d0c7d6bf75554

    ScriptableFlowRunnerResult – getDate()

    Retorna a data e a hora em que uma ação Flow Designer, fluxo ou subfluxo foi executado como um objeto GlideDateTime.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 10. Retorna
    Tipo Descrição
    GlideDateTime A data e hora de execução do fluxo, subfluxo ou ação.

    Este exemplo mostra como recuperar a data e a hora de uma execução de fluxo de um objeto 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);
      }
    
    })();
    Saída:
    2020-05-22 18:45:42

    ScriptableFlowRunnerResult – getDataStream()

    Retorna o fluxo de dados de uma ação de fluxo de dados.

    Se o método datastream() tiver sido usado na classe do construtor ScriptableFlowRunner, isso retornará o fluxo de dados como um objeto ScriptableDataStream. Use a classe ScriptableDataStream para iterar itens no fluxo. Consulte ScriptableDataStream.

    Para obter mais informações sobre ações de fluxo de dados, consulte Ações de fluxo de dados e paginação.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Nenhum    
    Tabela 12. Retorna
    Tipo Descrição
    ScriptableDataStream Um objeto ScriptableDataStream que você pode usar para iterar itens em um fluxo de dados. Use os métodos da classe ScriptableDataStream para interagir com este objeto. Consulte ScriptableDataStream.

    Este exemplo mostra como recuperar um fluxo de dados de um objeto ScriptableFlowRunnerResult.

    var datastream = result.getDataStream();

    ScriptableFlowRunnerResult – getContextId()

    Retorna o ID de contexto do fluxo, subfluxo ou ação.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 14. Retorna
    Tipo Descrição
    Cadeia de caracteres O sys_id do registro de detalhes de execução Flow Designer para a ação, fluxo ou subfluxo.

    Este exemplo mostra como recuperar um ID de contexto de um objeto ScriptableFlowRunnerResult.

    var contextId = result.getContextId();
    Saída:
    4ecead85c4da1110598d0c7d6bf73554

    ScriptableFlowRunnerResult – depuração ()

    Retorna informações sobre o fluxo, subfluxo ou ação executada, incluindo o ID de contexto, o ID de domínio e as saídas de execução.

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 16. Retorna
    Tipo Descrição
    Cadeia de caracteres Detalhes de execução sobre a ação Flow Designer, fluxo ou execução de subfluxo.
    • nome do objeto de fluxo: nome do fluxo, subfluxo ou ação.
    • tipo de objeto de fluxo: fluxo, subfluxo, ação ou ação de fluxo de dados.
    • ID de domínio: ID do domínio em que o fluxo, subfluxo ou ação foi executado.
    • tempo de resultado: quantidade de tempo necessária para executar.
    • ID de contexto: Sys_id do Flow Designer registro de detalhes de execução para a ação, fluxo ou subfluxo.
    • contagem de saída: número de saídas de ação ou subfluxo.

    Este exemplo mostra como recuperar informações sobre o fluxo, subfluxo ou ação executada do objeto 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);
      }
    
    })();
    Saída:
    *** 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