Comece a usar entradas dinâmicas
Crie uma ação de amostra que ilustre o uso de todos os tipos de entradas dinâmicas disponíveis em um fluxo.
Antes de Iniciar
Procedimento
-
Crie registros de credencial e conexão para sua instância.
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.
-
Crie uma ação de coleta de dados para obter nomes de tabela.
Esta ação de coleta de dados fornecerá dados JSON para entradas de escolha dinâmica.
-
Crie uma ação de coleta de dados para obter nomes de campos.
Esta ação de coleta de dados fornece dados JSON para entradas de modelo dinâmico.
-
Crie uma ação de coleta de dados para adicionar entradas dinâmicas.
Esta ação de coleta de dados fornece dados JSON para criar entradas dinâmicas arbitrárias.
-
Crie uma ação personalizada para testar entradas dinâmicas.
Esta ação personalizada ilustra diferentes tipos de entradas dinâmicas.
Crie registros de credencial e conexão para sua instância
Crie os aliases, as conexões e as credenciais necessárias para se conectar à sua instância local.
Antes de Iniciar
Função necessária: administrador
Procedimento
- Navegar até Tudo > Conexões e Credenciais > Credenciais.
-
Selecione Novo , selecione Credenciais de autenticação básica e insira estes valores de campo.
- Para Nome insira Administrador local .
-
Para Nome de usuário Insira uma conta de usuário com acesso ao Flow Designer e à REST API.
Por exemplo, insira administrador .
- Para Senha insira a senha da conta.
- Selecione Enviar para criar o registro de credencial.
- Navegar até Tudo > Conexões e Credenciais > Aliases de conexão e credenciais.
-
Selecione Novo e insira esses valores de campos.
- Para Nome Insira Instância local.
- Aceite o valor padrão de HTTP para Tipo de conexão .
- Selecione Enviar Para criar o registro de alias de conexão e credencial.
-
Selecione o alias que você criou.
Por exemplo, selecione Instância local .
-
Na lista relacionada Conexões, selecione Novo e insira estes valores de campo.
- Para Nome insira Minha instância .
-
Em Credencial, selecione o registro de credencial de autenticação básica que você criou.
Por exemplo, selecione Administrador local credencial.
-
Em URL de conexão, insira o URL base da sua instância, incluindo a barra no final
Inclua o prefixo de URL https:// e adicione um caractere de barra no final do URL.Por exemplo, https://example.service-now.com/ .
- Selecione Enviar Para criar o registro de conexão HTTP(s).
Resultado
Você pode usar o alias da instância local para se conectar à instância local ao configurar etapas REST.
Crie uma ação de coleta de dados para obter nomes de tabela
Crie uma ação de coleta de dados personalizada para buscar uma lista de nomes de tabela da API Tabela.
Antes de Iniciar
Função necessária: Action_designer ou admin
Por Que e Quando Desempenhar Esta Tarefa
- Uma etapa REST para coletar nomes de tabela do REST Table API
- Uma etapa de script para construir uma carga JSON a partir do corpo de resposta da etapa REST
- Uma variável de saída de ação chamada saída Para armazenar pares de nome e valor da tabela como um documento JSON
Esta ação personalizada usa uma chamada de REST API para duplicar a funcionalidade do ServiceNow núcleo Pesquisar ação de registro e. Ação Pesquisar registros. Normalmente, você não precisa criar ações personalizadas para executar operações básicas de registro. Esta ação ilustra o trabalho com as etapas REST e Script para coletar dados de tabela para entradas dinâmicas.
Procedimento
- Navegar até Tudo > Automação de Processo > Workflow Studio.
- Na página inicial, selecione Ações .
-
Selecionar Criar novo > Ação.
- Na tela Propriedades da ação, em Nome da ação campo, insira Ação de coleta de dados para tabelas .
- Para Aplicação , Selecione Global.
- Selecione Enviar.
-
Na Descrição da ação na seção Entradas, selecione o ícone Adicionar uma nova etapa (
).
-
Em Integrações , selecione REST e insira esses valores de campo.
Entrada Valor Conexão Sair Usar Alias de Conexão selecionado. Alias de conexão Selecione o alias que você criou anteriormente ou selecione o ícone Criar novo registro ( ) a Crie uma conexão HTTP(s) .
Nota:. Credencial Para a conexão HTTP(s) deve usar Credenciais de autenticação básica . . URL de conexão Deve ser o URL base da sua instância, incluindo a barra no final Para obter mais informações sobre conexões e credenciais, consulte Introdução ao Connections e. Introdução às credenciais .Criar solicitação Saia do Manualmente opção selecionada Caminho do recurso Insira api/now/doc/table/schema Método HTTP Insira OBTER -
Na Descrição da ação em sua etapa REST, selecione o ícone Adicionar uma nova etapa (
e selecione Script etapa.
- Na seção Variáveis de entrada, selecione Criar variável .
- Em Nome campo, insira carga .
-
Ao lado de Valor , selecione o seletor de cápsula de dados (
) e selecione Etapa REST > Corpo da Resposta.
-
No campo Script, insira o código a seguir.
(function execute(inputs, outputs) { var payload = JSON.parse(inputs.payload); var tables = payload.result // Get the value of the result array .filter(function(table) { return table.value.indexOf('_') < 0; }) // Filter the tables we want .map(function(table) { return { label: table.label, name: table.value }; // Set values for label and name }); outputs.tables = { data: tables }; // Final, properly formatted output })(inputs, outputs);A REST API retorna uma cadeia de caracteres formatada em JSON que descreve cada tabela com a imagem, referência, rawLabel, selecionado, rótulo, propriedades ausentes, usadas e de valor. As propriedades de rótulo e valor fornecem os valores necessários para uma escolha dinâmica. Uma opção dinâmica requer que cada opção de escolha tenha um rótulo e um nome. Este script mapeia a propriedade de valor para uma propriedade de nome.
- Na seção Variáveis de saída, selecione Criar variável .
- Em Rótulo e. Nome campos, insira tabelas .
- Em Tipo campo, selecione JSON .
-
Na Descrição da ação, selecione Saídas .
- Selecione Criar saída .
- Em Rótulo e. Nome campos, insira saída .
- Em Tipo campo, selecione JSON .
- Selecione Sair do Modo de edição .
-
Ao lado de Valor , selecione o seletor de cápsula de dados (
) e selecione Etapa de script > tabelas.
-
No cabeçalho Ação, selecione Salvar e selecione Teste . teste a ação .
- Selecione Run Test (Executar teste).
-
Exiba os detalhes da execução da ação.
Sua ação de coleta de dados será executada com sucesso se o valor de tempo de execução for
tabelasé um objeto complexo que contém uma matriz de pares de chave-valor pararótuloe.nomeconforme mostrado no exemplo resumido a seguir.{ "data": [ { "name": "evaluation", "label": "A/B Testing Evaluation" }, { "name": "sla", "label": "Agreement" }, { "name": "announcement", "label": "Announcement" }, { "name": "cmdb", "label": "Base Configuration Item" }, { "name": "checklist", "label": "Checklist" }, { "name": "collaborator", "label": "Collaborator" }, { "name": "conflict", "label": "Conflict" }, { "name": "clone", "label": "Database Clone" }, { "name": "dsl", "label": "DML" }, { "name": "global", "label": "Global" }, { "name": "goal", "label": "Goal" }, { "name": "incident", "label": "Incident" }, { "name": "interaction", "label": "Interaction" }, { "name": "map", "label": "Map" }, { "name": "ola", "label": "OLA" }, { "name": "problem", "label": "Problem" }, { "name": "question", "label": "Question" }, { "name": "reminder", "label": "Reminder" }, { "name": "instance", "label": "ServiceNow Instance" }, { "name": "label", "label": "Tag" }, { "name": "task", "label": "Task" }, { "name": "taxonomy", "label": "Taxonomy" }, { "name": "ticket", "label": "Ticket" }, { "name": "topic", "label": "Topic" }, { "name": "expert", "label": "Wizard" } ] }
- No cabeçalho Ação, selecione Publicar Para disponibilizar esta ação para outros fluxos e ações no escopo global.
Crie uma ação de coleta de dados para obter nomes de campos
Crie uma ação de coleta de dados para obter uma lista de campos de uma tabela.
Antes de Iniciar
Função necessária: Action_designer ou admin
Por Que e Quando Desempenhar Esta Tarefa
- Uma etapa REST para coletar campos do REST Table API
- Uma etapa de script para construir uma carga JSON a partir do corpo de resposta da etapa REST
- Uma variável de saída de ação chamada saída Para armazenar pares de nome de campo e valor como um documento JSON
Esta ação personalizada usa uma chamada de REST API para duplicar a funcionalidade do ServiceNow núcleo Pesquisar ação de registro e. Ação Pesquisar registros. Normalmente, você não precisa criar ações personalizadas para executar operações básicas de registro. Esta ação ilustra o trabalho com as etapas REST e Script para coletar dados de campo para entradas dinâmicas.
Procedimento
- Navegar até Tudo > Automação de Processo > Workflow Studio.
- Na página inicial, selecione Ações .
-
Selecionar Criar novo > Ação.
- Na tela Propriedades da ação, em Nome da ação campo, insira Ação de coleta de dados para campos .
- Para Aplicação , Selecione Global.
- Selecione Enviar.
-
Em Descrição da ação, selecione Entradas .
- No cabeçalho de Entrada de ação, selecione Criar entrada .
- Em Rótulo e. Nome campos, insira Tabela .
- Em Tipo campo, selecione Cadeia de caracteres .
- Alterne Obrigatório controle deslizante para que ele fique ativo.
- Selecione o ícone Alternar entradas avançadas para mostrar as entradas avançadas.
- Para Valor padrão insira incidente .
-
Na Descrição da ação na etapa REST, selecione o ícone Adicionar uma nova etapa (
).
-
Em Integrações , selecione Script e insira esses valores de campo.
- Na seção Variáveis de entrada, selecione Criar variável .
- Em Nome campo, insira tabela .
-
Ao lado de Valor , selecione o seletor de cápsula de dados (
) e selecione Ação > Tabela.
-
No campo Script, insira o código a seguir.
(function execute(inputs, outputs) { if(!inputs.table || inputs.table === "-- None --") { // check for empty or no table outputs.table = "incident"; // set default table to incident } else { outputs.table = inputs.table; // use input value provided } })(inputs, outputs);Este script garante que a etapa REST sempre tenha um nome de tabela.
- Na seção Variáveis de saída, selecione Criar variável .
- Em Rótulo e. Nome campos, insira tabela .
- Em Tipo campo, selecione Cadeia de caracteres .
-
Na Descrição da ação na seção Entradas, selecione o ícone Adicionar uma nova etapa (
).
-
Em Integrações , selecione REST e insira esses valores de campo.
Entrada Valor Conexão Sair Usar Alias de Conexão selecionado. Alias de conexão Selecione o alias que você criou anteriormente ou selecione o ícone Criar novo registro ( ) a Crie uma conexão HTTP(s) .
Nota:. Credencial Para a conexão HTTP(s) deve usar Credenciais de autenticação básica . . URL de conexão Deve ser o URL base da sua instância, incluindo a barra no final Para obter mais informações sobre conexões e credenciais, consulte Introdução ao Connections e. Introdução às credenciais .Criar solicitação Sair Manualmente selecionado. Caminho do recurso Insira api/now/table/ e selecione o seletor de cápsula de dados ( ). Selecionar Etapa de script > Tabela.
Método HTTP Insira OBTER Parâmetros de Consulta Adicione este parâmetro de consulta para fazer com que a REST API retorne apenas um registro. - Nome : sysparm_limit
- Valor : 1
-
Na Descrição da ação na etapa REST, selecione o ícone Adicionar uma nova etapa (
).
-
Em Integrações , selecione Script e insira esses valores de campo.
- Na seção Variáveis de entrada, selecione Criar variável .
- Em Nome campo, insira carga .
-
Ao lado de Valor , selecione o seletor de cápsula de dados (
) e selecione Etapa REST > Corpo da Resposta.
-
No campo Script, insira o código a seguir.
(function execute(inputs, outputs) { var payload = JSON.parse(inputs.payload); var fields = Object.keys(payload.result[0]) // Get first record of array .map(function(property) { return { label: property.charAt(0).toUpperCase() + property.slice(1).replace(/_/g, ' '), // Create label from field name name: property, // Set name to field name value: '' // Set value to empty so that dynamic template can set value }; }); outputs.fields = { data: fields }; // final properly formatted output })(inputs, outputs);A REST API retorna uma cadeia de caracteres formatada em JSON que descreve cada campo como um conjunto de pares de valor de nome, em que o nome é o nome do campo e o valor é o valor do campo. Um modelo dinâmico só precisa do nome e do rótulo do campo. O valor do campo deve ficar em branco para que possa ser definido pelo valor do modelo. A propriedade do rótulo é calculada a partir do nome do campo, colocando a primeira letra em maiúscula e substituindo caracteres sublinhados por espaços.
- Na seção Variáveis de saída, selecione Criar variável .
- Em Rótulo e. Nome campos, insira campos .
- Em Tipo campo, selecione JSON .
-
Na Descrição da ação, selecione Saídas .
- No cabeçalho Saída da ação, selecione Criar saída .
- Em Rótulo e. Nome campos, insira saída .
- Em Tipo campo, selecione JSON .
- Selecione Sair do Modo de edição .
-
Ao lado de Valor , selecione o seletor de cápsula de dados (
) e selecione Etapa de script > campos.
-
No cabeçalho Ação, selecione Salvar e selecione Teste . teste a ação .
- Na tela Ação de teste, em Tabela campo, insira incidente .
- Selecione Run Test (Executar teste).
-
Exiba os detalhes da execução da ação.
Sua ação de coleta de dados será executada com sucesso se o valor de tempo de execução for saída é um objeto complexo que contém uma matriz de pares de chave-valor para
rótulo,nomeevalorconforme mostrado no exemplo resumido a seguir.{ "data": [ { "name": "parent", "label": "Parent", "value": "" }, { "name": "made_sla", "label": "Made sla", "value": "" }, { "name": "caused_by", "label": "Caused by", "value": "" }, { "name": "watch_list", "label": "Watch list", "value": "" }, { "name": "upon_reject", "label": "Upon reject", "value": "" }, { "name": "sys_updated_on", "label": "Sys updated on", "value": "" }, { "name": "...", "label": "...", "value": "" }, { "name": "category", "label": "Category", "value": "" } ] }
- No cabeçalho Ação, clique em Publicar Para disponibilizar esta ação para outras ações no escopo global.
Crie uma ação de coleta de dados para adicionar entradas dinâmicas
Crie uma ação de coleta de dados para adicionar uma entrada dinâmica de tipo de referência.
Antes de Iniciar
Função necessária: Action_designer ou admin
Por Que e Quando Desempenhar Esta Tarefa
- Uma variável de entrada de ação para armazenar um nome de tabela
- Uma etapa de script para construir duas entradas dinâmicas como um objeto JSON
- Uma variável de saída de ação chamada saída para armazenar as entradas dinâmicas
Esta ação personalizada usa uma entrada de tipo de referência para duplicar a funcionalidade do ServiceNow núcleo Pesquisar ação de registro e. Ação Pesquisar registros. Em geral, você não precisa criar ações personalizadas para executar operações básicas de registro. Esta ação ilustra como trabalhar com as Etapas de script para coletar dados de campo para entradas dinâmicas.
Procedimento
- Navegar até Tudo > Automação de Processo > Workflow Studio.
- Na página inicial, selecione Ações .
-
Selecionar Criar novo > Ação.
- Na tela Propriedades da ação, em Nome da ação campo, insira Ação de coleta de dados para entradas dinâmicas .
- Para Aplicação , Selecione Global.
- Selecione Enviar.
-
Em Descrição da ação, selecione Entradas .
- No cabeçalho de Entrada de ação, selecione Criar entrada .
- Em Rótulo e. Nome campos, insira Tabela .
- Em Tipo campo, selecione Cadeia de caracteres .
-
Selecione o ícone Alternar entradas avançadas (
).
- Em Valor padrão campo, insira sys_user .
-
Na Descrição da ação em Entradas, selecione o ícone Adicionar uma nova etapa (
).
-
Em Integrações , selecione Script e insira esses valores de campo.
- Na seção Variáveis de entrada, selecione Criar variável .
- Em Nome campo, insira tabela .
-
Ao lado de Valor , selecione o seletor de cápsula de dados (
) e selecione Entradas > Tabela.
-
No campo Script, insira o código a seguir.
(function execute(inputs, outputs) { // Define JSON for desired dynamic input type outputs.data = { data: [{ label: 'Reference type input', name: 'referencetype', reference: inputs.table, type: 'reference', }] } })(inputs, outputs);Cada tipo de entrada dinâmica tem sua própria estrutura JSON. Uma entrada dinâmica de campo de referência precisa dessas propriedades.- rótulo
- O texto a ser exibido ao lado da entrada. Por exemplo, entrada do campo Referência.
- nome
- O nome interno da entrada dinâmica usada para identificá-la e armazenar valores. Por exemplo, referênciotipo.
- referência
- O nome da tabela de destino do campo de referência. Por exemplo, sys_user. Neste script, o nome da tabela é uma variável.
- tipo
- O tipo de dados da entrada dinâmica. Por exemplo, referência. A propriedade do tipo determina como Workflow Studio exibe a entrada e quais outras propriedades são necessárias para configurá-la.
- Na seção Variáveis de saída, selecione Criar variável .
- Em Rótulo e. Nome campos, insira dados .
- Em Tipo campo, selecione JSON .
-
Na Descrição da ação, selecione Saídas .
- No cabeçalho Saída da ação, selecione Criar saída .
- Em Rótulo e. Nome campos, insira saída .
- Em Tipo campo, selecione JSON .
- Selecione Sair do Modo de edição .
-
Ao lado de Valor , selecione o seletor de cápsula de dados (
) e selecione Etapa de script > dados.
-
No cabeçalho Ação, selecione Salvar e selecione Teste . teste a ação .
- Selecione Run Test (Executar teste).
-
Exiba os detalhes da execução da ação.
Se sua ação de coleta de dados for executada com sucesso, o valor do tempo de execução para saída É uma cadeia de caracteres JSON, conforme mostrado no exemplo a seguir.
{ "data": [ { "reference": "sys_user", "name": "referencetype", "label": "Reference type input", "type": "reference" } ] }
- No cabeçalho Ação, selecione Publicar Para disponibilizar esta ação para outras ações no escopo global.
Crie uma ação personalizada para testar entradas dinâmicas
Crie uma ação personalizada para testar entradas dinâmicas.
Antes de Iniciar
Por Que e Quando Desempenhar Esta Tarefa
Esta ação de ajuda duplica a funcionalidade do Etapa de criação de registro Para ilustrar a coleta de dados de uma etapa REST. Em geral, você usa entradas dinâmicas para integrações com sistemas e dados de terceiros.
- Uma entrada do tipo Seleção dinâmica para selecionar uma tabela
- Uma entrada do tipo Modelo dinâmico para selecionar e definir valores de campo
- Uma etapa de script para criar um registro a partir do GlideRecord - Global
- Uma variável de saída de ação chamada saída para armazenar o sys_id do registro criado
Procedimento
- Navegar até Tudo > Automação de Processo > Workflow Studio.
- Na página inicial, selecione Ações .
-
Selecionar Criar novo > Ação.
- Na tela Propriedades da ação, em Nome da ação campo, insira Criar registro a partir de entradas dinâmicas .
- Para Aplicação , Selecione Global.
- Selecione Enviar.
-
Na Descrição da ação, selecione Entradas .
- Selecione Criar entrada .
- Em Rótulo e. Nome campos, insira Tabela .
- Em Tipo campo, selecione Opção dinâmica .
- Ligue o. Obrigatório comutador de alternância.
- Em Valor padrão insira incidente .
- Aceite o valor padrão para Opção .
- Em Opções dinâmicas para Ação campo, selecione Ação de coleta de dados para tabelas .
- Selecione Criar entrada para criar outra entrada de ação.
- Em Rótulo e. Nome campos, insira Campos .
- Em Tipo campo, selecione Modelo dinâmico .
- Ligue o. Obrigatório comutador de alternância.
- Em Opções dinâmicas em Ação campo, selecione Ação de coleta de dados para campos .
- Ao lado de Tabela , ative Depende de outra entrada comutador de alternância.
- Em Tabela , selecione Tabela entrada.
- Selecione Criar entrada para criar outra entrada de ação.
- Em Rótulo e. Nome campos, insira Entrada dinâmica .
- Em Tipo campo, selecione Entradas dinâmicas .
- Em Opções dinâmicas em Ação campo, selecione Ação de coleta de dados para entradas dinâmicas .
- Saia do Tabela campo em branco para usar o valor padrão de sys_user fornecido pela ação de coleta de dados.
-
Na Descrição da ação na seção Entradas, selecione o ícone Adicionar uma nova etapa (
).
-
Em Integrações , selecione Script e insira esses valores de campo.
- Na seção Variáveis de entrada, selecione Criar variável .
- Em Nome campo, insira tabela .
-
Ao lado de Valor , selecione o seletor de cápsula de dados (
) e selecione Entradas > Tabela.
- Selecione Criar variável para criar outra variável de entrada.
- Em Nome campo, insira campos .
-
Ao lado de Valor , selecione o seletor de cápsula de dados (
) e selecione Entradas > Campos.
- Selecione Criar variável para criar outra variável de entrada.
- Em Nome campo, insira carga .
-
Ao lado de Valor , selecione o seletor de cápsula de dados (
) e selecione Entradas > Entrada dinâmica.
-
No campo Script, insira o código a seguir.
(function execute(inputs, outputs) { var payload = inputs.payload.referencetype; // match name from data gathering action var obj = JSON.parse(payload); var user = obj.value; var gr = new GlideRecord(inputs.table); // dynamic choice input gr.applyEncodedQuery(inputs.fields); // dynamic template input gr.applyEncodedQuery("caller_id=" + user); // dynamic inputs reference field gr.insert(); outputs.record = gr; })(inputs, outputs); - Na seção Variáveis de saída, selecione Criar variável .
- Em Rótulo e. Nome campos, insira registro .
- Em Tipo campo, selecione ID do documento .
-
Na Descrição da ação, selecione Saídas .
- No cabeçalho Saída da ação, selecione Criar saída .
- Em Rótulo e. Nome campos, insira Registro criado .
- Em Tipo campo, selecione ID do documento .
- Selecione Sair do Modo de edição .
-
Ao lado de Valor , selecione o seletor de cápsula de dados (
) e selecione Etapa de script > registro.
-
No cabeçalho Ação, selecione Salvar e selecione Teste . teste a ação .
-
Na tela Ação de teste, em Tabela selecione qualquer opção de opção de tabela gerada dinamicamente.
Por exemplo, selecione a tabela Incidente.
-
Selecione Adicionar valor do campo , selecione qualquer campo e insira qualquer valor.
Por exemplo, selecione o campo Descrição resumida e insira o teste de valor.
-
Na seção Entradas dinâmicas e Entrada do tipo de referência , selecione um valor de campo de referência.
Por exemplo, selecione o usuário Abel Tuter.
-
Selecione Run Test (Executar teste).
Nota:Os registros que você cria a partir das políticas de dados de desvio da API Tabela e campos obrigatórios normalmente relacionados à criação de registro. Esta ação é apenas para fins ilustrativos. Use Etapa de criação de registro em vez de criar registros com proteções e validações padrão.
-
Exiba os detalhes da execução da ação.
Você pode usar a saída Registro criado para verificar se os valores de tempo de execução para
Tabelae.Campocorresponda os valores de teste inseridos.
-
Na tela Ação de teste, em Tabela selecione qualquer opção de opção de tabela gerada dinamicamente.
- No cabeçalho Ação, selecione Publicar Para disponibilizar esta ação para fluxos no escopo global.