Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Using Scripted Variables in JavaScript:

Scripted variables is javascript that is executed and assigned to a variable to use anywhere in your web action config, such as the post body, the url ie by its name in mustache syntax.
Usage: Variables let you run scripts to create custom variables for your web actions. These variables can be used anywhere in your setup, like in URLs or post bodies, with the Mustache format {{ variable-name }}.

Creata a Javascript variable

  1. Click the Variabels tab

  2. Choose Javascript variables on the toggle

  3. Click Add button

  4. Click in the MyVar field and rename the variable

  5. Write the script in the script field. More info below regarding usage

Script usage

The script must return a value, this value is assigned to the variable name and used in the configuration by entering mustache syntax.

The script has the following context already provided as variables to use;

...

response

...

the response of the parent action in raw text

...

jsonResponse()

...

a function that turns the response into json object

...

context

...

raw context of the action, such as name, url, method, headers

...

jsonContext()

...

a function that turns the context into json object.
example getContext().url gives the url

...

path(anyObject, jsonpath)

...

a function that returns the value in the object specified by the path.
Used when there is a need to pick a part of a json object.

...

getIssue()

...

How to Create a JavaScript Variable:

  1. Navigate to the Variables tab.

  2. Switch to 'Javascript Variables'.

  3. Click "Add".

  4. Name your variable in the "MyVar" field.

  5. Enter your JavaScript code in the "Script" field.

Important Points about the Script:

  • The script should always return a value.

  • This returned value is what gets saved as the variable. You can use it in your setup with Mustache syntax. Example: {{ MyVar }}

Built-in Variables and Functions for Your Script:

  • response: The raw text response from the previous action.

  • jsonResponse(): Converts the 'response' into a JSON object.

  • context: Basic details of the action like its name, URL, method, headers, payload or any full scope variable, etc. Use dot notation to access the variable.

  • jsonContext : JSON representation of the context

  • path(anyObject, jsonpath): Fetches specific parts of a JSON object.

  • getIssue(): Retrieves the issue in JSON format. If there's no issue, it returns null.

  • domParser: an implementation of https://www.npmjs.com/package/xmldom

Expand
titledomParser example
Code Block
languagejs
const xmlDoc = domParser.parseFromString(response.data, 'text/xml');
const resultNode = xmlDoc.getElementsByTagNameNS('xmlns attribute', 'element name ')[index of the elements];

Example:

The action is a child action to another action. Let's say the child receives the following input data:

Code Block
languagejson
{
  “name”: “Donald Duck”,
  “email”: “donald@cartoonducks.com”
} 

To create a scripted variable that transform the name property to lowercase, the code would be:

Code Block
return jsonContext.payload.name.toLowerCase();