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 do 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 nós subsequentes.

Referência de configuração​

CampoRequiredPadrãoDescription
ScriptSimNenhumCódigo JavaScript para executar. Deve conter uma instrução return; o valor retornado se torna a saída deste nó.

O ambiente 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ó anterior por meio de $vars.<nodeName>.<property>.
  • metadata — metadados de execução de fluxo
  • Recursos nativos 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ó de Solicitação HTTP em vez disso.

Os scripts são feitos para lógica rápida em memória: mantenha-os rápidos e evite processar cargas muito grandes, que podem exceder os limites de runtime ou o tempo limite.

Acesso à saída do nó anterior​

Use $vars.<nodeName>.<property> onde <nodeName> é o nome da variável do nó (mostrado 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 se torna a saída do nó, acessível subsequentemente como $vars.<nodeName>.output:

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

Entradas e saídas​

Entrada​

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

Saída​

Em caso de sucesso — $vars.<nodeName>.output:

O valor de retorno do script. A forma depende do que o Script retorna.

Em caso de 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 mágica 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ó anterior ou escrever uma transformação rápida sem precisar 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 subsequentes 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 um array​

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 você deve usar isso em vez de 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 transformação sem código.
Você deseja calcular algo a partir da saída do nó anterior.Você quer um mapeador visual sem escrever código
A transformação é complexa ou com estadoA transformação é apenas um redimensionamento simples

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