Skip to main content
Version: 1.21.3

Server Scripts

Server-side scripts allow the system to run the 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 for creating reactions for the data writing based on the predefined 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, specify it explicitly in the script, 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();
}
//...

You can import all the API classes by adding the string // #import_all_types at the beginning of the script executed through the eval() function.

// #import_all_types

The following sections contain more details and specifics of server-side scripts usage.

See the Scheduled Scripts article to get more information about implementing routine activities.