Server-side scripts allow the system running JS scripts on the server-side when the server events happen, for example:
- writing or updating any data in the database
- an incoming message
- due date and time occurrence
- calling specified UI action
- the Run Script activity processing within a workflow.
They are used to create reactions for the data writing based on the pre-defined rules, such as:
- database transaction interrupting
- new system object creation
- associative record creation (once the record is created, one more will be created in return)
- the context-dependent value calculation
- a configuration of the record creation initiated by incoming email (the incident is created upon receipt of an email), and so on.
In the server-side scripts, you can use native JavaScript and methods provided by server-side API.
To define the API class in a script, you need to specify it explicitly in script code, for example:
class SimpleAutoAssigner { /** * @constructor * @param {string} autoAssignedRuleId */ constructor(autoAssignedRuleId) { this.autoAssignedRuleId = autoAssignedRuleId; this.assigner = this.__create(); this.userId = this.assigner.getUserId(); this.groupId = this.assigner.getGroupId(); } //...
In the case there is a code executed through the eval() function, then adding the string below at the start of the script will import all the API classes.
// #import_all_types
The subsections of this section will give more details and specifics of server-side scripts usage.
Also, you can refer to the Scheduled Script article to get more information about implementing routine activities.