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};
      })
Properties

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.