Introdução às saídas dinâmicas

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 14 min. de leitura
  • Crie uma ação de amostra que cria saídas dinâmicas para uso em um fluxo.

    Antes de Iniciar

    Função necessária: action_designer ou administrador

    Procedimento

    1. Criar registros de conexão e credencial para saídas dinâmicas
      Este alias de conexão e credencial fornecerá a URL base e a conta de usuário necessárias para configurar as etapas REST de suas ações de coleta de dados.
    2. Criar uma ação de coleta de dados para obter um esquema de registro
      Esta ação de coleta de dados converterá um único registro em um objeto JSON para uma saída dinâmica de registro.
    3. Crie uma ação de coleta de dados para obter uma matriz de esquema de registros
      Esta ação de coleta de dados converterá uma lista de registros em matriz JSON de objetos para uma saída dinâmica de registros.
    4. Criar uma ação personalizada para testar saídas dinâmicas
      Esta ação personalizada ilustra dois tipos de dados de saída dinâmicos. Uma saída dinâmica gera um objeto para um único registro. Outra saída dinâmica gera uma matriz de objetos para uma lista de registros.

    Criar registros de conexão e credencial para saídas dinâmicas

    Crie os aliases, conexões e credenciais que as etapas REST usarão para se conectar à sua instância local.

    Antes de Iniciar

    Função necessária: administrador

    Procedimento

    1. Navegar até Todos > Conexões e Credenciais > Credenciais.
    2. Selecione Novo, Credenciais de autenticação básicae insira esses valores de campo.
      1. Em Nome, insira Administrador local.
      2. Em Nome de usuário, insira uma conta de usuário com acesso ao Flow Designer e à REST API.
        Por exemplo, insira admin.
      3. Em Senha, insira a senha da conta.
    3. Selecione Enviar para criar o registro de credencial.
    4. Navegar até Todos > Conexões e Credenciais > Aliases de conexão e credencial.
    5. Selecione Novo e insira os valores desses campos.
      1. Em Nome, insira Instância local.
      2. Aceite o valor padrão de HTTP para o tipo de conexão.
      3. Selecione Enviar para criar o registro de alias de conexão e credencial.
    6. Selecione o alias que você criou.
      Por exemplo, selecione Instância local.
    7. Na lista relacionada Conexões, selecione Novoe insira esses valores de campo.
      1. Em Nome, insira Minha instância.
      2. Em Credencial, selecione o registro de credencial de autenticação básica que você criou.
        Por exemplo, selecione a credencial de Administrador local.
      3. Em URL de conexão, insira a URL base da sua instância, incluindo a barra no final.
        Inclua o prefixo da URL https:// e adicione um caractere de barra no final da URL.
        Por exemplo, https://example.service-now.com/.
      4. Selecione Enviar para criar o registro de conexão HTTP(s).

    Criar uma ação de coleta de dados para obter um esquema de registro

    Crie uma ação de coleta de dados para pesquisar um esquema de tabela e converter em um objeto JSON.

    Antes de Iniciar

    Função necessária: action_designer ou administrador

    Por Que e Quando Desempenhar Esta Tarefa

    Nesta tarefa, você cria uma ação de coleta de dados que coleta o esquema de um registro em sua instância. O objetivo é criar um objeto complexo para uso como uma saída dinâmica. Esta ação de coleta de dados consiste no seguinte:
    • Uma etapa REST para coletar dados de esquema de tabela para uma tabela selecionada. O corpo da resposta da etapa REST está no formato JSON.
    • Uma etapa de script para transformar o corpo de resposta JSON da etapa REST em um objeto dinâmico. O objeto dinâmico consiste em pares de nome-valor JSON, em que há uma entrada para cada campo na tabela.
    • Uma variável de saída chamada saída do tipo JSON para armazenar o objeto dinâmico.
    Nota:
    Esta tarefa recria as ações de demonstração instaladas quando você Solicitar um Integration Hub plug-in para sua instância.

    Procedimento

    1. Navegar até Todos > Automação de Processo > Workflow Studio.
    2. Na página inicial, selecione Ações.
    3. Selecione Novo e escolha Nova ação.
      1. Na tela Propriedades da ação, no campo Nome, insira Obter esquema de objeto da ServiceNow (dinâmico).
      2. Selecione Enviar.
    4. Em Descrição da ação, selecione Entradas.
      1. No cabeçalho Entrada de ação, selecione Criar entrada.
      2. Nos campos Rótulo e Nome, insira Tabela.
      3. No campo Tipo, selecione Cadeia de caracteres.
      4. Para tornar esta entrada obrigatória, alterne o controle deslizante Obrigatório para que ele fique ativo.
    5. Em Descrição da ação, selecione o ícone adicionar uma nova etapa (ícone Adicionar uma nova etapa) em Entradas e selecione Etapa REST.
    6. No cabeçalho da etapa REST, preencha os campos a seguir.
      Campo Valor
      Conexão Deixe a opção Usar alias de conexão selecionada.
      Alias de conexão selecione o ícone Criar novo registro (ícone Criar novo registro) para criar uma nova conexão Criar uma conexão HTTP(s)ou use uma conexão existente para sua instância. A credencial da conexão HTTP(s) deve usar credenciais de autenticação básica. Além disso, a URL de conexão deve ser a URL base da sua instância, incluindo a barra no final. Para obter mais informações sobre conexões e credenciais, consulte Introdução a conexões e Introdução a credenciais.
      Criar solicitação Deixe a opção Manualmente selecionada.
      Caminho do recurso Insira api/now/processflow/table/ e selecione o seletor de cápsula de dados ( Seletor de cápsula de dados). Selecionar Entradas > Tabela. Em seguida, insira /schema.
      Método HTTP Inserir GET
      Parâmetros de consulta selecione o ícone de adição (ícone de adição para adicionar um novo parâmetro de consulta. Em seguida, no campo Nome, insira get_choices e verdadeiro no campo Valor.
    7. Em Descrição da ação, selecione o ícone Adicionar uma nova etapa (ícone Adicionar uma nova etapa) na etapa REST e selecione a etapa Script.
      1. Na seção Variáveis de entrada, selecione Criar variável.
      2. No campo Nome, insira carga.
      3. Ao lado do campo Valor, selecione o seletor de cápsula de dados ( Seletor de cápsula de dados) e selecione Etapa REST > Corpo da Resposta.
      4. No campo Script, insira o código a seguir.
        
        (function execute(inputs, outputs) {
          var payload = JSON.parse(inputs.payload);
          
          var columns = payload.result.data.columns;
          var schema = columns.map(function(column) {
            var value = {
              label: column.label,
              name: column.name,
              type: getCOType(column.definition.base_type),
            };
            if (column.definition.type === 'choice') {
              value.type = 'choice';
              value.choices = column.definition.choices;
            } 
            if (column.definition.base_type === 'GUID') {
              value.children = [
                { label: 'Link', name: 'link', type: 'string' },
                { label: 'Value', name: 'value', type: 'string' },
              ];
            }
            return value;
          });
          outputs.schema = { 
            data: {
              type: 'object',
              children: schema,
            },
          };
          
          function getCOType(type) {
            if (type === 'GUID') return 'reference';
            return type;
          }
        })(inputs, outputs);
      5. Na seção Variáveis de saída, selecione Criar variável.
      6. Nos campos Rótulo e Nome, insira esquema.
      7. No campo Tipo, selecione JSON.
    8. Em Descrição da ação, selecione Saídas.
      1. No cabeçalho Saída de ação, selecione Criar saída.
      2. Nos campos Rótulo e Nome, insira a saída.
      3. No campo Tipo, selecione JSON.
      4. No cabeçalho Saída da ação, selecione Sair do modo de edição.
      5. Ao lado do campo Valor, selecione o seletor de cápsula de dados ( Seletor de cápsula de dados) e selecione Etapa de script > esquema.
    9. No cabeçalho Ação, selecione Salvar e, em seguida, Testar para testar a ação.
      1. Na tela Ação de teste, insira incidente para a entrada Tabela.
      2. Selecione Executar teste.
      3. Verifique os detalhes de execução da ação.
      Sua ação de coleta de dados será executada com sucesso se o valor de tempo de execução dos campos for um objeto complexo em um formato semelhante ao exemplo abreviado a seguir.
      {
             "data": {
                 "type": "object",
                 "children": [
                     {
                         "name": "active",
                         "label": "Active",
                         "type": "boolean"
                     },
                     {
                         "name": "activity_due",
                         "label": "Activity due",
                         "type": "datetime"
                     }, ...
    10. No cabeçalho Ação, selecione Publicar para disponibilizar a ação Get ServiceNow Object Schema (Dynamic) para outros fluxos e ações dentro do escopo Global.

    Crie uma ação de coleta de dados para obter uma matriz de esquema de registros

    Crie uma ação de coleta de dados para gerar uma matriz de objetos a partir de uma lista de registros.

    Antes de Iniciar

    Função necessária: action_designer ou administrador

    Por Que e Quando Desempenhar Esta Tarefa

    Nesta tarefa, você cria uma ação de coleta de dados que coleta o esquema de um registro em sua instância. O objetivo é criar um objeto complexo para uso como uma saída dinâmica. Esta ação de coleta de dados consiste no seguinte:
    • Uma etapa REST para coletar dados de esquema de tabela para uma tabela selecionada. O corpo da resposta da etapa REST está no formato JSON.
    • Uma etapa de script para transformar o corpo de resposta JSON da etapa REST em um objeto dinâmico. O objeto dinâmico consiste em uma matriz JSON de objetos, em que cada registro de origem é convertido em um objeto da matriz.
    • Uma variável de saída chamada saída do tipo JSON para armazenar o objeto dinâmico.
    Nota:
    Esta tarefa recria as ações de demonstração instaladas quando você Solicitar um Integration Hub plug-in para sua instância.

    Procedimento

    1. Navegar até Todos > Automação de Processo > Workflow Studio.
    2. Na página inicial, selecione Ações.
    3. Selecione Novo e escolha Nova ação.
      1. Na tela Propriedades da ação, no campo Nome, insira Obter esquema Array.Object da ServiceNow (Dinâmico).
      2. Selecione Enviar.
    4. Em Descrição da ação, selecione Entradas.
      1. No cabeçalho Entrada de ação, selecione Criar entrada.
      2. Nos campos Rótulo e Nome, insira Tabela.
      3. No campo Tipo, selecione Cadeia de caracteres.
      4. Para tornar a entrada obrigatória, alterne o controle deslizante Obrigatório para que ele fique ativo.
    5. Em Descrição da ação, selecione o ícone adicionar uma nova etapa (ícone Nova etapa) em Entradas e selecione a etapa REST.
    6. No cabeçalho da etapa REST, preencha os campos a seguir.
      Campo Valor
      Conexão Deixe Usar alias de conexão selecionado.
      Alias de conexão selecione o ícone Criar novo registro (ícone Criar novo registro) para criar uma nova conexão Criar uma conexão HTTP(s)ou use uma conexão existente para sua instância. A credencial da conexão HTTP(s) deve usar credenciais de autenticação básica. Além disso, a URL de conexão deve ser a URL base da sua instância, incluindo a barra no final.
      Criar solicitação Deixe selecionado manualmente.
      Caminho do recurso Insira api/now/processflow/table/ e selecione o seletor de cápsula de dados ( Seletor de cápsula de dados). Selecionar Entradas > Tabela. Por fim, insira /schema
      Método HTTP Inserir GET
      Parâmetros de consulta selecione o ícone de adição (ícone de adição para adicionar um novo parâmetro de consulta. Em seguida, no campo Nome, insira get_choices e verdadeirono campo Valor.
    7. Em Descrição da ação, selecione o ícone Adicionar uma nova etapa( ícone Nova etapa) na etapa REST e selecione a etapa Script.
      1. Na seção Variáveis de entrada, selecione Criar variável.
      2. No campo Nome, insira carga.
      3. Ao lado do campo Valor, selecione o seletor de cápsula de dados ( Seletor de cápsula de dados) e selecione Etapa REST > Corpo da Resposta.
      4. No campo Script, insira o código a seguir.
        
        (function execute(inputs, outputs) {
          var payload = JSON.parse(inputs.payload);
          
          var columns = payload.result.data.columns;
          var schema = columns.map(function(column) {
            var value = {
              label: column.label,
              name: column.name,
              type: getCOType(column.definition.base_type),
            };
            if (column.definition.type === 'choice') {
              value.type = 'choice';
              value.choices = column.definition.choices;
            }
            return value;
          });
          outputs.schema = { 
            data: {
              type: 'array.object',
              attributes: {
                child_type: 'object',
              },
              children: schema,
            },
          };
          
          function getCOType(type) {
            if (type === 'GUID') return 'string';
            return type;
          }
        })(inputs, outputs);
      5. Na seção Variáveis de saída, selecione Criar variável.
      6. Nos campos Rótulo e Nome, insira esquema.
      7. No campo Tipo, selecione JSON.
    8. Em Descrição da ação, selecione Saídas.
      1. No cabeçalho Saída de ação, selecione Criar saída.
      2. Insira a saída no campo Rótulo e no campo Nome.
      3. Selecione JSON para o campo Tipo.
      4. Selecione Sair do modo de edição.
      5. Ao lado do campo Valor, selecione o seletor de cápsula de dados ( Seletor de cápsula de dados) e selecione Etapa de script > esquema.
    9. No cabeçalho Ação, selecione Salvar e, em seguida, Testar para testar a ação.
      1. Na tela Ação de teste, no campo Tabela, insira incident.
      2. Selecione Executar teste.
      3. Verifique os detalhes de execução da ação.
        Sua ação de coleta de dados será executada com sucesso se o valor de tempo de execução da saída de campos for um objeto complexo que contém uma matriz de pares de chave-valor para rótulo, nomee valor, conforme mostrado no exemplo abreviado a seguir.
        {
               "data": {
                   "type": "array.object",
                   "children": [
                       {
                           "name": "active",
                           "label": "Active",
                           "type": "boolean"
                       },
                       {
                           "name": "activity_due",
                           "label": "Activity due",
                           "type": "datetime"
                       }, ...
        
    10. No cabeçalho Ação, selecione Publicar para disponibilizar a ação Get ServiceNow Array.Object Schema (Dynamic) para outras ações no escopo Global.

    Criar uma ação personalizada para testar saídas dinâmicas

    Crie uma ação de amostra para gerar dinamicamente duas saídas de ação, Registro e Registros, que são atualizados dinamicamente quando o valor da entrada Tabela muda.

    Antes de Iniciar

    Função necessária: action_designer ou administrador

    Por Que e Quando Desempenhar Esta Tarefa

    Esta ação personalizada usa duas ações de coleta de dados para preencher as saídas dinâmicas.

    Procedimento

    1. No cabeçalho principal, selecione o ícone Criar fluxo, subfluxo ou ação (ícone Criar fluxo, subfluxo ou ação) e selecione Ação.
      1. No modal Propriedades da ação, no campo Nome, insira Obter registros da ServiceNow (dinâmico).
      2. Selecione Enviar.
    2. Em Descrição da ação, selecione Entradas.
      1. No cabeçalho Entrada de ação, selecione Criar entrada.
      2. Nos campos Rótulo e Nome, insira Tabela.
      3. No campo Tipo, selecione Opção dinâmica.
      4. Para tornar a entrada obrigatória, alterne o controle deslizante Obrigatório para que ele fique ativo.
      5. Selecione o ícone Alternar entradas avançadas ( Ícone Alternar entradas avançadas para exibir as opções avançadas da entrada Tabela.
      6. No campo Valor padrão, insira incidente.
      7. Em Opções dinâmicas, no campo Ação, selecione Obter tabelas da ServiceNow - dinâmicas.
      8. Selecione Criar entrada para criar outra entrada de ação.
      9. Nos campos Rótulo e Nome, insira NumberOfRecords.
      10. No campo Tipo, selecione Inteiro.
      11. Para tornar a entrada obrigatória, alterne o controle deslizante Obrigatório para que ele fique ativo.
      12. Selecione o ícone Alternar entradas avançadas ( Ícone Alternar entradas avançadas para exibir as opções avançadas da entrada Tabela.
      13. No campo Valor padrão, insira 3.
    3. Em Descrição da ação, selecione o ícone adicionar uma nova etapa (ícone Nova etapa) em Entradas e selecione a etapa REST.
    4. No cabeçalho da etapa REST, preencha os campos a seguir.
      Campo Valor
      Conexão Deixe Usar alias de conexão selecionado.
      Alias de conexão Selecione o ícone Criar novo registro (ícone Criar novo registro) para criar uma nova conexão Criar uma conexão HTTP(s)ou use uma conexão existente para sua instância. A credencial da conexão HTTP(s) deve usar credenciais de autenticação básica. Além disso, a URL de conexão deve ser a URL base da sua instância, incluindo a barra no final.
      Criar solicitação Sair selecionado manualmente
      Caminho do recurso Insira api/now/table/ e selecione o seletor de cápsula de dados ( Seletor de cápsula de dados). Selecionar Entradas > Tabela.
      Método HTTP Inserir GET
      Parâmetros de consulta Selecione o ícone de adição ( ícone de adição para adicionar um novo parâmetro de consulta. Em seguida, insira sysparm_limit no campo Nome. Ao lado do campo Valor, selecione o seletor de cápsula de dados ( Seletor de cápsula de dados) e selecione Entradas > Número de registros.
    5. Em Descrição da ação, selecione o ícone adicionar uma nova etapa (ícone Nova etapa) em Entradas e selecione a etapa Script.
      1. Na seção Variáveis de entrada, selecione Criar variável.
      2. No campo Nome, insira carga.
      3. Ao lado do campo Valor, selecione o seletor de cápsula de dados ( Seletor de cápsula de dados) e selecione Etapa REST > Corpo da Resposta.
      4. No campo Script, insira o código a seguir.
        
        (function execute(inputs, outputs) {
          var response = JSON.parse(inputs.payload);
          var records = response.result;
          outputs.record = records[0];
          outputs.records = JSON.stringify(records);
        })(inputs, outputs);
      5. Na seção Variáveis de saída, selecione Criar variável.
      6. Nos campos Rótulo e Nome, insira registro.
      7. Selecione JSON para o campo Tipo.
      8. Alternar o controle deslizante Obrigatório para que ele fique ativo.
      9. Selecione Criar variável para criar outra variável de saída para a etapa de script.
      10. Nos campos Rótulo e Nome, insira registros.
      11. No campo Tipo, selecione JSON.
      12. Para tornar a entrada obrigatória, alterne o controle deslizante Obrigatório para que ele fique ativo.
    6. Em Descrição da ação, selecione Saídas.
      1. No cabeçalho Saída de ação, selecione Criar saída.
      2. Nos campos Rótulo e Nome, insira Registros.
      3. No campo Tipo, selecione Objeto dinâmico.
      4. Selecione o ícone Alternar entradas avançadas (ícone Alternar entradas avançadas ) para exibir as opções avançadas da saída de Registros.
      5. Em Opções dinâmicas, selecione Obter esquema Array.Object da ServiceNow (Dinâmico) como a Ação.
      6. Para tornar a entrada Tabela dependente de outra entrada, alterne o controle deslizante Depende de outra entrada para torná-lo ativo.
      7. No campo Tabelae, selecione Tabela.
      8. No cabeçalho Saída da ação, selecione Sair do modo de edição.
      9. Ao lado do campo Valor, selecione o seletor de cápsula de dados ( Seletor de cápsula de dados) e selecione Etapa de script > registros.
      10. No cabeçalho Saída de ação, selecione Editar saídas > Criar Saída para criar outra saída de ação.
      11. Nos campos Rótulo e Nome, insira Registro.
      12. No campo Tipo, selecione Objeto dinâmico.
      13. Selecione o ícone Alternar entradas avançadas (ícone Alternar entradas avançadas para exibir as opções avançadas da saída de registro.
      14. Em Opções dinâmicas, no campo Ação, selecione Obter esquema de objeto da ServiceNow (dinâmico).
      15. Para tornar a entrada Tabela dependente de outra entrada, alterne o controle deslizante Depende de outra entrada para torná-lo ativo.
      16. No campo Tabela, selecione Tabela.
      17. No cabeçalho Saída da ação, selecione Sair do modo de edição.
      18. Em Valor, selecione o seletor de cápsula de dados ( Seletor de cápsula de dados) e selecione Etapa de script > registro.
    7. No cabeçalho Ação, selecione Salvar e, em seguida, Testar para testar a ação.
      1. Na tela Ação de teste, selecione qualquer valor de opção gerado dinamicamente para a entrada Tabela.
      2. Selecione Executar teste.
      3. Verifique os detalhes de execução da ação.
        Sua ação é executada com sucesso se o valor de tempo de execução de Registro for um objeto complexo formatado corretamente e o valor de tempo de execução de Registros for uma matriz de objetos complexos formatada corretamente.
    8. No cabeçalho Ação, selecione Publicar para disponibilizar a ação Get ServiceNow Records (Dynamic) para fluxos dentro do escopo Global.

    Resultado

    Use a ação de amostra dinâmica Obter registros da ServiceNow em um fluxo.

    Agora você pode adicionar a ação Get ServiceNow Records (Dynamic) a um fluxo. Esta ação de exemplo gera dinamicamente duas saídas de ação, Registro e Registros, que podem ser acessadas como cápsulas de dados no painel de dados. As cápsulas de dados são atualizadas dinamicamente quando o valor da entrada Tabela muda.