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')