UiPath Documentation
maestro
latest
false
Guia do usuário do Maestro
Importante :
A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Script

Referência de nó do script: configuração, ambiente e exemplos de JavaScript.

O que faz

Executa o código JavaScript e passa o valor de retorno para os nós subsequentes.

Referência da configuração

CampoRequiredPadrãoDescription
ScriptSimNenhumCódigo JavaScript a ser executado. Deve conter uma instrução return ; o valor retornado torna-se a saída desse nó.

O ambiente do JavaScript

Os scripts são executados em um runtime isolado e têm acesso a:

  • $vars o escopo da variável do fluxo. Acesse a saída do nó upstream por meio de $vars.<nodeName>.<property>.
  • metadata — metadados de execução do fluxo
  • Integrações padrão do JavaScript — como JSON, Math, Date, Array, Object, String, Number, RegExp, Error, Promise, URL, URLSearchParams e as funções de temporizador.

Por segurança, o runtime bloqueia APIs de rede (fetch, XMLHttpRequest, WebSocket), execução de código dinâmico (eval, Function) e APIs de armazenamento (indexedDB, caches). Para chamar uma API externa, use o nó HTTP Request.

Os scripts destinam-se a uma lógica rápida na memória: mantenha-os rápidos e evite o processamento de cargas muito grandes, que podem exceder os limites de runtime ou o tempo limite.

Acessando a saída do nó upstream

Use $vars.<nodeName>.<property> onde <nodeName> é o nome da variável do nó (exibido no painel de propriedades):

// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;

// Access a flow variable
const count = $vars.myVariable;
// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;

// Access a flow variable
const count = $vars.myVariable;

RetornarValor

O script deve retornar um valor. O valor retornado torna-se a saída do nó, acessível $vars.<nodeName>.output como:

return {
  message: "Processed",
  count: items.length
};
return {
  message: "Processed",
  count: items.length
};

Entradas e saídas

Entrada

O nó Script pode acessar qualquer variável upstream por meio $vars. Ele não tem um esquema de entrada digitado — qualquer coisa em $vars está disponível.

Saída

No sucesso$vars.<nodeName>.output:

O valor retornado do script. A forma depende do que o script retorna.

Na falha (quando um identificador de erro está conectado) — $vars.<nodeName>.error:

{
  "code": "string",
  "message": "string",
  "detail": "string",
  "category": "string",
  "status": 0
}
{
  "code": "string",
  "message": "string",
  "detail": "string",
  "category": "string",
  "status": 0
}

Gerar scripts com IA

O ícone de varinha virtual acima do editor de script aceita uma descrição em linguagem simples do que você deseja e gera o JavaScript para você. Isso é útil para acessar a saída de um nó upstream ou escrever uma transformação rápida sem procurar a sintaxe $vars exata.

Exemplos

Exemplo 1 — Definir uma variável de processo

// Set a variable that downstream nodes can reference
return {
  orderTotal: $vars.httpRequest1.output.body.price * $vars.httpRequest1.output.body.quantity,
  currency: "USD"
};
// Set a variable that downstream nodes can reference
return {
  orderTotal: $vars.httpRequest1.output.body.price * $vars.httpRequest1.output.body.quantity,
  currency: "USD"
};

Os nós downstream acessam os valores como $vars.script1.output.orderTotal e $vars.script1.output.currency.

Exemplo 2 — Processar uma resposta HTTP

const data = $vars.httpRequest1.output.body;

return {
  title: data.title,
  userId: data.userId
};
const data = $vars.httpRequest1.output.body;

return {
  title: data.title,
  userId: data.userId
};

Exemplo 3 — Lógica condicional

const status = $vars.httpRequest1.output.statusCode;

if (status === 200) {
  return { success: true, data: $vars.httpRequest1.output.body };
} else {
  return { success: false, statusCode: status };
}
const status = $vars.httpRequest1.output.statusCode;

if (status === 200) {
  return { success: true, data: $vars.httpRequest1.output.body };
} else {
  return { success: false, statusCode: status };
}

Exemplo 4 — Transformar uma matriz

const items = $vars.fetchItems1.output.body;

return {
  count: items.length,
  names: items.map(item => item.name)
};
const items = $vars.fetchItems1.output.body;

return {
  count: items.length,
  names: items.map(item => item.name)
};

Quando usar isso versus a Transformação de dados

Use o Script quando...Use a Transformação de dados quando...
Você precisa de lógica completa de JavaScript — loops, condicionais, manipulação de stringVocê precisa de um mapeamento de campo simples ou uma transformação sem código
Você deseja calcular algo a partir da saída do nó upstreamVocê deseja um mapeador visual sem escrever código
A transformação é complexa ou com estadoA transformação é uma reformulação direta

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades