Execute a JavaScript script using the GraalVM scripting engine.
yaml
type: "io.kestra.plugin.graalvm.js.eval"
Execute a JavaScript script using the GraalVM scripting engine.
yaml
id: evalJs
namespace: company.team
tasks:
- id: evalJs
type: io.kestra.plugin.graalvm.js.Eval
outputs:
- out
- map
script: |
(function() {
var Counter = Java.type('io.kestra.core.models.executions.metrics.Counter');
var File = Java.type('java.io.File');
var FileOutputStream = Java.type('java.io.FileOutputStream');
logger.info('Task started');
runContext.metric(Counter.of('total', 666, 'name', 'bla'));
map = {'test': 'here'};
var tempFile = runContext.workingDir().createTempFile().toFile();
var output = new FileOutputStream(tempFile);
output.write([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]);
out = runContext.storage().putFile(tempFile);
return {"map": map, "out": out};
})
The script to evaluate
SubType string
A List of outputs variables that will be usable in outputs.
The captured outputs as declared on the outputs
task property.