runScript

The runScript command runs a provided JavaScript file.

appId: com.example
env:
    MY_NAME: John
---
- launchApp
- runScript: myScript.js
- inputText: ${output.myFlow}

A script would typically perform some action and set an output value that could be accessed later. See Outputs for more information.

var uppercaseName = MY_NAME.toUpperCase()

output.myFlow = uppercaseName   // returns 'JOHN'

You can directly access env parameters from within JavaScript. See Parameters & Constants for more information.

For more information regarding JavaScript, please refer to the JavaScript section:

JavaScript

File Paths

Paths can be relative or absolute. Relative paths are required for cloud running. Relative paths are relative to the calling flow, not to the directory running the command.

In a directory structure like this:

β”œβ”€β”€ flows
β”‚   └── test.yaml
└── scripts
    └── uppercase.js

The flow test.yaml would look like this:

appId: com.example
env:
    MY_NAME: John
---
- launchApp
- runScript: ../scripts/uppercase.js

Passing parameters

runScript accepts env parameters, in the same way as runFlow does (see Nested Flows).

- runScript:
    file: script.js
    env:
       myParameter: 'Parameter'

Running conditionally

You can use conditionals to run a JavaScript file when some condition is true. For more information, please refer to the conditionals documentation.

Console logging

Console logging is supported from the JavaScript files provided in runScript command. Logs from JavaScript are redirected to the console when using Maestro CLI.

Last updated

Was this helpful?