Scripts em linha

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 7 min. de leitura
  • Permita que usuários com experiência em codificação escrevam scripts em linha que definem e modificam valores de entrada durante a configuração de uma ação ou fluxo. Use scripts em linha para modificar valores de entrada que exigem pequenas conversões de formato, transformações de dados ou operações matemáticas.

    Você também pode modificar valores de entrada sem script usando funções de transformação. Para obter uma lista de opções disponíveis, consulte Funções de transformação.

    Workflow Studio exibe um botão de script quando você configura esses componentes.
    • Entradas de ação ao configurar a ação para um fluxo
    • Saídas de ação ao configurar a ação para um fluxo
    • Entradas da lógica de fluxo ao configurar a lógica de fluxo para um fluxo
    • Saídas da lógica de fluxo ao configurar a lógica de fluxo para um fluxo
    • Entradas de etapa ao configurar a etapa para uma ação.
    • Entradas do subfluxo ao configurar o subfluxo para um fluxo.
    • Saídas do subfluxo ao configurar o subfluxo para um fluxo.

    Os scripts em linha devem retornar valores no mesmo tipo de dados que a entrada espera. Por exemplo, um script em linha para uma entrada Registro deve retornar um objeto GlideRecord e um script em linha para uma entrada Data deve retornar um valor de data e hora. Sempre teste as ações e os fluxos que contêm scripts em linha e verifique se não há erros de tempo de execução nos detalhes de execução do fluxo.

    Os redatores de script devem estar familiarizados com Now Platform estruturas de tabela e tipos de campo. Além disso, eles devem saber como trabalhar com dados de registro e do sistema usando a API ServiceNow.

    Benefícios

    Os scripts em linha oferecem esses benefícios.
    • Habilite a conversão ou transformação de dados simples sem precisar criar ações ou fluxos personalizados.
    • Identifique quais dados de entrada são afetados por um script.
    • Acesso restrito a recursos de script para usuários ou grupos que tenham conhecimento das APIs ServiceNow disponíveis.

    Acesso ao script em linha

    Você pode conceder aos usuários acesso a scripts online, concedendo a eles a função flow_designer_scripting ou a permissão de desenvolvimento delegado de Permitir script. A função e a permissão do desenvolvedor exibem um campo de botão de script para cada entrada Workflow Studio.

    Botão de script

    Quando você permite que um usuário crie scripts em linha, Workflow Studio exibe um botão de script ao lado das entradas de fluxo e etapa.

    Figura 1. Botões de script são exibidos ao lado das entradas
    Entradas disponíveis para a ação de log. As entradas Nível e Mensagem exibem botões Script.

    Clicar no botão Script abre o editor de scripts, que substitui a interface de entrada padrão. Insira um script para calcular o valor de entrada.

    Certifique-se de que seu script inclua uma declaração de retorno com os resultados do script. Por exemplo, return shortDesc; retorna o valor da variável shortDesc.

    Figura 2. Editor de script para entrada
    Entradas disponíveis para a ação de log. A entrada Mensagem exibe o Editor de script e um script que retorna um cálculo matemático para a raiz quadrada de 64.

    Clicar no botão Recolher script oculta o editor de script e exibe uma versão somente leitura da entrada. Clicar no botão Expandir script exibe o editor de script e permite que você edite o script.

    Figura 3. Entrada que contém o script
    Entradas disponíveis para a ação de log. A entrada Mensagem exibe o texto Com script (expandir para editar).

    Objeto de dados Workflow Studio

    Os codificadores de script podem usar o objeto fd_data para acessar dados de ações e etapas anteriores. Use o objeto fd_data para fazer referência com pontos em uma saída específica do fluxo. Você pode usar as sugestões autocompletáveis do editor de script para selecionar um valor de saída específico. Por exemplo, insira fd_data e selecione _2__for_each.item nas sugestões de digitação autocompletáveis para criar uma referência com pontos para fd_data._2__for_each.item. Esta referência acessa dados da segunda saída do fluxo, que neste exemplo é um item de lógica de fluxo "for each".
    Importante:
    O objeto fd_data sempre requer uma referência com pontos para uma saída de fluxo específica. Sem uma referência com pontos, o script em linha não pode acessar dados de Workflow Studio.

    Workflow Studio atualiza o objeto de dados sempre que você salva sua ação, fluxo ou subfluxo. Se as sugestões autocompletáveis não incluírem seu destino, tente salvar a ação, o fluxo ou o subfluxo e redigitar o caractere de ponto final para atualizar a lista de sugestões.

    Tabela 1. Opções de objeto de dados do Flow Designer
    Destino de dados Sintaxe de referência Exemplo
    Entrada de ação fd_data.action_inputs.action-input-name tarefa var = fd_data.action_inputs.task;
    Variável de fluxo fd_data.flow_var.nome-da-variável-fluxo var shortDesc = fd_data.flow_var.short_description;
    Saída de ação anterior, lógica de fluxo ou etapa fd_data._output-target-step-number__output-target-name var taskRecord = fd_data._2__create_task;
    Entrada de subfluxo fd_data.subflow_inputs.subfluxo-input-name var reqItem = fd_data.subflow_inputs.requested_item;
    Gatilho fd_data.trigger.cápsula-de-dados-gatilho var incidente = fd_data.trigger.current;

    Diretrizes gerais

    Siga estas diretrizes gerais para criar scripts em linha reutilizáveis e de fácil manutenção.

    Escrever script em linha para lógica pequena não reutilizável
    Use o formato de script em linha ou modifique os dados para entradas e casos de uso específicos. Para conversões de dados de entrada padrão e reutilizáveis e operações de formatação, selecione uma função de transformação.
    Revisar funções de transformação disponíveis
    Workflow Studio fornece uma lista de funções de transformação padrão para conversões de dados e operações de formatação. Em vez de escrever e manter uma solução de script personalizada, selecione uma função de transformação existente, se houver uma disponível.
    Inclusões de script de chamada a partir do script em linha
    Chame uma inclusão de script a partir do script em linha para reduzir a quantidade de código que você grava e também para manter o código comum em um único local. Use o construtor de classe para chamar sua inclusão de script. Para obter mais informações sobre como criar uma inclusão de script, consulte Script includes.
    var si = new MyScriptInclude();
    si.functionOne();
    Crie ações ou subfluxos personalizados para código reutilizável em vez de script em linha
    Crie ações ou subfluxos personalizados para lógica de dados reutilizáveis ou complexos, como alterar o tipo de dados de origem. Você também pode fornecer ações personalizadas ou subfluxos para designers de fluxo que não se sintam à vontade com o código.
    Evite duplicar funcionalidade de ação e fluxo
    Evite escrever scripts em linha que duplicam a funcionalidade de ação e fluxo. Por exemplo, em vez de escrever um script em linha para executar operações de registro, use as ações de linha de base de registro de criação e atualização.
    Evitar mudanças de tipo de dados
    Evite erros de tempo de execução verificando se o script em linha fornece informações no mesmo tipo de dados que a entrada ou a saída espera.
    Crie variáveis declarando-as com a palavra-chave var
    Use a palavra-chave var para declarar variáveis para que elas permaneçam dentro do escopo JavaScript apropriado. Quando você cria uma variável atribuindo um valor a ela, o JavaScript pode anexá-la ao objeto global, o que pode fazer com que os valores de variável persistam fora do escopo local e causem erros.
    Processar saídas de registros com lógica de fluxo Para cada e o objeto de dados de fluxo
    O script em linha só pode acessar a saída de registros de uma ação Pesquisar registros de Para cada lógica de fluxo. Adicione uma ação Pesquisar registros ao fluxo para gerar a saída de registros. Adicione uma lógica de fluxo Para cada ao fluxo para processar cada registro na saída de registros. Crie uma referência de script em linha para a lógica de fluxo Para cada usando os objetos fd_data e item. Por exemplo, esta referência pressupõe que a lógica de fluxo Para cada é o segundo item na descrição do fluxo fd_data._2__for_each.item.
    Use sugestões autocompletáveis para gerar referências a dados de fluxo e ação.
    Crie referências para dados de fluxo e ação usando o objeto fd_data. O editor de script exibe sugestões autocompletáveis para dados de fluxo e ação existentes quando você digita fd_data. Selecione uma sugestão para criar referências para dados de fluxo e ação.
    Nota:
    Consulte os dados de registro em uma lógica de fluxo Para cada usando o objeto de item.
    Contadores de loop de escopo

    Os loops de script não têm um número máximo de iterações, portanto, os loops são executados infinitamente quando não há uma condição de saída válida.

    Para garantir que haja uma condição de saída válida, use contadores de loop de escopo em scripts em linha ou em etapas de script em uma ação. Adicionar var apara (i=0; i< comprimento; i+ +) e obter para (var i=0; i< comprimento; i+ +)

    Considerações sobre licenciamento

    Scripts em linha que chamam APIs de integração estão sujeitos ao licenciamento de Integration Hub.

    Editor de código

    O editor de código fornece suporte ao editor de texto para scripts em linha.

    O editor de código tem esses recursos para os serviços linguísticos compatíveis e scripts em linha.
    • Coloração de sintaxe, recuo, números de linha e criação automática de chaves e aspas de fechamento
    • Sugestões e preenchimentos automáticos
    Figura 4. Editor de código
    Editor de código no Workflow Studio

    Dicas de edição

    • Para inserir um espaço fixo em qualquer lugar no código, pressione Tab.
    • Para recuar uma única linha de código, clique no espaço em branco à esquerda da linha e pressione Tab.
    • Para recuar uma ou mais linhas de código, selecione o código e pressione Tab. Para diminuir o recuo, pressione Shift+Tab.
    • Para remover uma guia do início de uma linha de código, clique na linha e pressione Shift+Tab.
    • Para declarar variáveis, use a palavra-chave var para que elas permaneçam dentro do escopo JavaScript apropriado.