ScriptableFlowRunnerResult - com escopo

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. 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 instanciar o objeto do construtor ScriptableFlowRunner.
    2. ScriptableFlowRunner: especifique Workflow Studio conteúdo 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 o tipo de objeto Workflow Studio a ser criado.
    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 Workflow Studio detalhes de execução
    Use um ou mais métodos como getContextId(), getOutputs()e getDomainId() para exibir detalhes da execução.

    Exemplo

    Este exemplo mostra como criar um objeto do 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 de 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 – debug()

    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 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 2. Retorna
    Tipo Descrição
    Cadeia de caracteres Detalhes de execução sobre a ação Workflow Studio, 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 do domínio: ID do domínio em que o fluxo, subfluxo ou ação foi executada.
    • tempo de resultado: quantidade de tempo necessária para executar.
    • ID de contexto: Sys_id do Workflow Studio 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
    

    ScriptableFlowRunnerResult – getContextId()

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

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    Tipo Descrição
    Cadeia de caracteres O sys_id do registro de detalhes de execução Workflow Studio 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 – getDate()

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

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 6. 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 e paginação de fluxode dados.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    Nenhum    
    Tabela 8. Retorna
    Tipo Descrição
    ScriptableDataStream Um objeto ScriptableDataStream que você pode usar para iterar itens em um fluxo de dados. Use os métodos na 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 – getDomainId()

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

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 10. Retorna
    Tipo Descrição
    Cadeia de caracteres O sys_id do domínio em que a ação, o fluxo ou o subfluxo Workflow Studio 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 – getFlowObjectType()

    Retorna o tipo de execução de objeto Workflow Studio.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 12. Retorna
    Tipo Descrição
    FlowObjectType O tipo de execução de objeto Workflow Studio, 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 Workflow Studio, fluxo ou execução de subfluxo.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 14. Retorna
    Tipo Descrição
    Cadeia de caracteres O escopo e o nome interno da ação Workflow Studio, 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 – getOutputs()

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

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 16. Retorna
    Tipo Descrição
    Objeto Objeto que contém a saída de uma ação, fluxo ou subfluxo Workflow Studio concluído.

    Este exemplo mostra como recuperar as saídas de uma execução de ação, fluxo ou subfluxo Workflow Studio 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.