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:

  1. database transaction interrupting
  2. new system object creation
  3. associative record creation (once the record is created, one more will be created in return)
  4. the context-dependent value calculation
  5. 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.

  • No labels