Script

Conheça o componente e saiba como utilizá-lo.

Erick Rubiales avatar
Escrito por Erick Rubiales
Atualizado há mais de uma semana

IMPORTANTE: Esta documentação foi descontinuada. Leia a documentação Script atualizada no nosso novo portal de documentação.

O componente Script permite executar trechos de código javascript, também conhecido como ECMAScript.

Dê uma olhada nos parâmetros de configuração do componente:

  • Code: onde o código em javascript pode ser escrito.

  • Script Timeout: tempo para que o script expire (em milissegundos).

Fluxo de mensagens

Entrada

O componente Script pode receber parâmetros de componentes prévios através do objeto "body" - ou seja, caso a saída do componente anterior ao Script tiver uma saída que inclui um objeto chamado "body", é possível acessá-lo diretamente no código do Script.

  • body: objeto importado para o escopo do código do Script.

Por exemplo, caso a entrada seja:

{
"body": {
"company": "Digibee"
}
}

Então no campo code será possível fazer algo como:

var x = body.company;

Saída

O código executado no componente pode produzir uma saída, desde que ela seja atribuída a variável global chamada output.

  • success: "true" se a execução do código foi bem sucedida, "false" caso contrário.

  • output: saída personalizável do componente.

Por exemplo, se você quiser que a saída do componente Script seja 'Hello world' basta atribuí-lo à variável output:

output = 'Hello world';

O resultado após executar o pipeline será:

{
"success": true,
"output": "Hello world"
}

Também é possível construir um objeto JSON como saída:

output = { "company": "Digibee" }

O resultado após executar o pipeline será:

{
"success": true,
"output": { "company": "Digibee" }
}

Caso algum erro ocorra durante a execução do script, a seguinte saída é apresentada após a execução do pipeline:

{
"success": false,
"error": "Error message"
}

IMPORTANTE: por questões de segurança, não é possível executar nenhuma função que faça uma chamada externa a partir do componente Script, como por exemplo fetch() ou XMLHttpRequest(). Também não é possível importar Bibliotecas usando require. No entanto, as seguintes Bibliotecas já estão disponíveis para uso:

  • Lodash (variável global para utilizar lodash lib: 'lodash')

  • Moment Timezone (variável global para utilizar moment-timezone: 'moment')

Respondeu à sua pergunta?