Eval Eval

yaml
type: "io.kestra.plugin.scripts.nashorn.Eval"

Execute a Nashorn (JavaScript) script.

Examples

yaml
id: "eval"
type: "io.kestra.plugin.scripts.nashorn.Eval"
outputs:
  - out
  - map
script: |
  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('executionId: {}', runContext.render('{{ execution.id }}'));
  runContext.metric(Counter.of('total', 666, 'name', 'bla'));
  
  map = {'test': 'here'}
  var tempFile = runContext.tempFile().toFile()
  var output = new FileOutputStream(tempFile)
  output.write('555\n666\n'.getBytes())
  
  out = runContext.putTempFile(tempFile)

Properties

outputs

  • Type: array
  • SubType: string
  • Dynamic:
  • Required:

A list of output variables that will be usable in outputs.

script

  • Type: string
  • Dynamic: ✔️
  • Required:

A full script.

Outputs

outputs

  • Type: object
  • Dynamic:
  • Required:

The captured outputs as declared on task property.

result

  • Type: object
  • Dynamic:
  • Required:

The resulting object. Mostly the last return of eval (if the language allows it).