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
Click the Variabels tab
Choose Javascript variables on the toggle
Click Add button
Click in the MyVar field and rename the variable
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:
Navigate to the Variables tab.
Switch to 'Javascript Variables'.
Click "Add".
Name your variable in the "MyVar" field.
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 | |||||
---|---|---|---|---|---|
| |||||
|
Example:
The action is a child action to another action. Let's say the child receives the following input data:
Code Block | ||
---|---|---|
| ||
{
“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(); |