Introdução às saídas dinâmicas
Crie uma ação de amostra que cria objetos dinâmicos para uso em um fluxo.
Antes de Iniciar
Por Que e Quando Desempenhar Esta Tarefa
- Uma etapa REST para coletar dados de esquema de tabela da sua instância.
- Uma etapa de script para construir a carga do corpo da resposta da etapa REST.
- Uma variável de saída chamada
saídado tipo JSON.
Nota:
Esta tarefa recria as ações de demonstração que são instaladas quando você Solicitar um IntegrationHub plug-in para sua instância.
Procedimento
- Navegar até Todos > Automação de Processo > Flow Designer.
-
Clique em Novo e selecione Nova ação.
- Na tela Propriedades da ação, no campo Nome, insira Obter esquema de objeto da ServiceNow (dinâmico).
- Clique em Enviar.
-
No Contorno da ação, clique em Entradas.
- No cabeçalho de Entrada de ação, clique em Criar entrada.
- Nos campos Rótulo e Nome, insira Tabela.
- No campo Tipo, selecione Cadeia de caracteres.
- Para tornar esta entrada obrigatória, alterne o controle deslizante Obrigatório para que ele fique ativo.
-
No Contorno da ação, clique no ícone adicionar uma nova etapa (ícone
) em Entradas e selecione Etapa REST.
-
No cabeçalho da etapa REST, preencha os seguintes campos.
Campo Valor Conexão Deixe a opção Usar alias de conexão selecionada. Alias de conexão Clique no ícone ) 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, o 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 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 clique no seletor de cápsula de dados ( Selecionador de cápsula ). Selecionar Entradas > Tabela. Em seguida, insira /schema.
Método HTTP Inserir GET Parâmetros de Consulta Clique no ícone de de adição) para adicionar um novo parâmetro de consulta. Em seguida, no campo Nome, insira get_choices e verdadeiro no campo Valor.
-
No Contorno da ação, clique no ícone adicionar uma nova etapa (ícone
) na etapa REST e selecione a etapa Script.
- Na seção Variáveis de entrada, clique em Criar variável.
- No campo Nome, insira carga útil.
-
Ao lado do campo Valor, clique no seletor de cápsula de dados ( Selecionador
) 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 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); - Na seção Variáveis de saída, clique em Criar variável.
- Nos campos Rótulo e Nome, insira esquema.
- No campo Tipo, selecione JSON.
-
No Contorno da ação, clique em Saídas.
- No cabeçalho Saída da ação, clique em Criar saída.
- Nos campos Rótulo e Nome, insira a saída.
- No campo Tipo, selecione JSON.
- No cabeçalho Saída da ação, clique em Sair do modo de edição.
-
Ao lado do campo Valor, clique no seletor de cápsula de dados ( Selecionador
) e selecione Etapa de script > esquema.
-
No cabeçalho Ação, clique em Salvar e em Testar para testar a ação.
- Na tela Ação de teste, insira o incidente para a entrada Tabela.
- Clique em Executar teste.
- 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 doscamposfor 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" }, ... - No cabeçalho Ação, clique em Publicar para disponibilizar a ação Get ServiceNow Object Schema (Dynamic) para outros fluxos e ações no escopo Global.
Criar a ação Obter esquema Array.Object da ServiceNow (dinâmico)
Crie uma ação de coleta de dados de amostra para gerar uma matriz de objetos.
Antes de Iniciar
Procedimento
-
No cabeçalho principal, clique no ícone Criar fluxo, subfluxo ou ação (ícone
) e selecione Ação.
- Na tela Propriedades da ação, no campo Nome, insira Obter esquema Array.Object da ServiceNow (dinâmico).
- Clique em Enviar.
-
No Contorno da ação, clique em Entradas.
- No cabeçalho de Entrada de ação, clique em Criar entrada.
- Nos campos Rótulo e Nome, insira Tabela.
- No campo Tipo, selecione Cadeia de caracteres.
- Para tornar a entrada obrigatória, alterne o controle deslizante Obrigatório para que ele fique ativo.
-
No Contorno da ação, clique no ícone adicionar uma nova etapa (ícone
) em Entradas e selecione a etapa REST.
-
No cabeçalho da etapa REST, preencha os seguintes campos.
Campo Valor Conexão Deixe Usar Alias de Conexão selecionado. Alias de conexão Clique no ícone ) 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, o URL de conexão deve ser o 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 clique no seletor de cápsula de dados ( Selecionador de cápsula ). Selecionar Entradas > Tabela. Por fim, insira /schema
Método HTTP Inserir GET Parâmetros de Consulta Clique no ícone de de adição) para adicionar um novo parâmetro de consulta. Em seguida, no campo Nome, insira get_choices e verdadeirono campo Valor.
-
No Contorno da ação, clique no ícone Adicionar uma nova etapa(
) na etapa REST e selecione a etapa Script.
- Na seção Variáveis de entrada, clique em Criar variável.
- No campo Nome, insira carga útil.
-
Ao lado do campo Valor, clique no seletor de cápsula de dados ( Selecionador
) 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 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); - Na seção Variáveis de saída, clique em Criar variável.
- Nos campos Rótulo e Nome, insira esquema.
- No campo Tipo, selecione JSON.
-
No Contorno da ação, clique em Saídas.
- No cabeçalho Saída da ação, clique em Criar saída.
- Insira a saída no campo Rótulo e no campo Nome.
- Selecione JSON para o campo Tipo.
- Clique em Sair do modo de edição.
-
Ao lado do campo Valor, clique no seletor de cápsula de dados ( Selecionador
) e selecione Etapa de script > esquema.
-
No cabeçalho Ação, clique em Salvar e em Testar para testar a ação.
- Na tela Ação de teste, no campo Tabela, insira incidente.
- Clique em Executar teste.
-
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
camposfor um objeto complexo que contém uma matriz de pares de chave-valor pararótulo,nomeevalor, 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" }, ...
- No cabeçalho Ação, clique em Publicar para disponibilizar a ação Get ServiceNow Array.Object Schema (Dynamic) para outras ações no escopo Global.
Criar a ação Obter registros da ServiceNow (dinâmico)
Crie uma ação de amostra para gerar dinamicamente duas saídas de ação, Registro e Registros, que são atualizadas dinamicamente quando o valor da entrada Tabela muda.
Antes de Iniciar
Procedimento
-
No cabeçalho principal, clique no ícone Criar fluxo, subfluxo ou ação (ícone
) e selecione Ação.
- No modal Propriedades da ação, no campo Nome, insira Obter registros da ServiceNow (dinâmicos).
- Clique em Enviar.
-
No Contorno da ação, clique em Entradas.
- No cabeçalho de Entrada de ação, clique em Criar entrada.
- Nos campos Rótulo e Nome, insira Tabela.
- No campo Tipo, selecione Opção dinâmica.
- Para tornar a entrada obrigatória, alterne o controle deslizante Obrigatório para que ele fique ativo.
-
Clique no ícone Alternar entradas avançadas (ícone
para exibir as opções avançadas da entrada
Tabela. - No campo Valor padrão, insira incidente.
- Em Opções dinâmicas, no campo Ação, selecione Obter tabelas da ServiceNow - Dinâmicas.
- Clique em Criar entrada para criar outra entrada de ação.
- Nos campos Rótulo e Nome, insira NumberOfRecords.
- No campo Tipo, selecione Inteiro.
- Para tornar a entrada obrigatória, alterne o controle deslizante Obrigatório para que ele fique ativo.
-
Clique no ícone Alternar entradas avançadas (ícone
para exibir as opções avançadas da entrada
Tabela. - No campo Valor padrão, insira 3.
-
No Contorno da ação, clique no ícone adicionar uma nova etapa (ícone
) em Entradas e selecione a etapa REST.
-
No cabeçalho da etapa REST, preencha os seguintes campos.
Campo Valor Conexão Deixe Usar Alias de Conexão selecionado. Alias de conexão Clique no ícone ) 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, o URL de conexão deve ser o URL base da sua instância, incluindo a barra no final.
Criar solicitação Deixar selecionado manualmente Caminho do Recurso Insira api/now/table/ e clique no seletor de cápsula de dados ( ). Selecionar Entradas > Tabela.
Método HTTP Inserir GET Parâmetros de Consulta Clique no ícone de de adição) para adicionar um novo parâmetro de consulta. Em seguida, insira sysparm_limit no campo Nome. Ao lado do campo Valor, clique no seletor de cápsula de dados ( Selecionador
) e selecione Entradas > Número de registros.
-
No Contorno da ação, clique no ícone adicionar uma nova etapa (ícone
) em Entradas e selecione a etapa Script.
- Na seção Variáveis de entrada, clique em Criar variável.
- No campo Nome, insira carga útil.
-
Ao lado do campo Valor, clique no seletor de cápsula de dados ( Selecionador
) e selecione Etapa REST > Corpo da Resposta.
-
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); - Na seção Variáveis de saída, clique em Criar variável.
- Nos campos Rótulo e Nome, insira registro.
- Selecione JSON para o campo Tipo.
- Alterne o controle deslizante Obrigatório para que ele fique ativo.
- Clique em Criar variável para criar outra variável de saída para a etapa de script.
- Nos campos Rótulo e Nome, insira registros.
- No campo Tipo, selecione JSON.
- Para tornar a entrada obrigatória, alterne o controle deslizante Obrigatório para que ele fique ativo.
-
No Contorno da ação, clique em Saídas.
- No cabeçalho Saída da ação, clique em Criar saída.
- Nos campos Rótulo e Nome, insira Registros.
- No campo Tipo, selecione Objeto dinâmico.
-
Clique no ícone Alternar entradas avançadas ( Ícone
para exibir as opções avançadas da saída de
registros. - Em Opções dinâmicas, selecione Obter esquema Array.Object da ServiceNow (dinâmico) como a Ação.
- Para tornar a entrada Tabela dependente de outra entrada, alterne o controle deslizante Depende de outra entrada para torná-lo ativo.
- No campo Tabelae, selecione Tabela.
- No cabeçalho Saída da ação, clique em Sair do modo de edição.
-
Ao lado do campo Valor, clique no seletor de cápsula de dados ( Selecionador
) e selecione Etapa de script > registros.
- No cabeçalho de Saída da ação, clique em Editar saídas > Criar Saída para criar outra saída de ação.
- Nos campos Rótulo e Nome, insira Registro.
- No campo Tipo, selecione Objeto dinâmico.
-
Clique no ícone Alternar entradas avançadas (ícone
para exibir as opções avançadas da saída
Registro. - Em Opções dinâmicas, no campo Ação, selecione Obter esquema de objeto da ServiceNow (dinâmico).
- Para tornar a entrada Tabela dependente de outra entrada, alterne o controle deslizante Depende de outra entrada para torná-lo ativo.
- No campo Tabela, selecione Tabela.
- No cabeçalho Saída da ação, clique em Sair do modo de edição.
-
Para o Valor, clique no seletor de cápsula de dados ( Selecionador
) e selecione Etapa de script > registro.
-
No cabeçalho Ação, clique em Salvar e em Testar para testar a ação.
- Na tela Ação de teste, selecione qualquer valor de opção gerado dinamicamente para a entrada Tabela.
- Clique em Executar teste.
-
Verifique os detalhes de execução da ação.
Sua ação será executada com sucesso se o valor de tempo de execução de
Registrofor um objeto complexo formatado corretamente e o valor de tempo de execução deRegistrosfor uma matriz de objeto complexo formatado corretamente.
- No cabeçalho Ação, clique em Publicar para disponibilizar a ação Get ServiceNow Records (Dynamic) para fluxos no escopo Global.
Resultado
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.