Scripting Engine

Essembi's scripting engine is powered by JavaScript and is ECMAScript 6 (Strict). Within the areas that have scripting enabled, users can write JavaScript in a monaco-editor with auto-complete for the full ES6 standard library plus the Essembi library.

Where is the scripting engine available?

Essembi has enabled scripting for calculated field types and validation scripts that can fire after a data entry form is saved.

Calculated Field Types

Calculated fields can be added to any table within Essembi. They can utilize logic that references other fields in tables within the organization's app. Because they are a field, they can be shown on sheet or kanban views plus within data entry forms.

Calculated fields can be retrieved via API but cannot be set via API or any other method for security purposes.

Validations Script

Validation scripts enable Essembi users to throw a string to alert a user of a validation error when saving a record. It fires on the save of a form. For example, if a user wants to require a user story for all enhancement tickets, this can be done via a validation script.

The validation script also fires on data entered via alternative add methods such as API or entry via an Excel import.

JavaScript Library

The entirety of the Javascript standard library has been exposed, excluding any aspects of the library that would interact with the Document Object Model (DOM), Window, or other client-specific functions and objects. This means you can use objects like "Math" and "JSON" but not "window" or "document."

For help on coding with JavaScript ES6, check out this guide from Programiz.

Essembi's Record Object Schema

A record is any instance of any data that has been saved in a table in Essembi. This includes tickets, sprints, epics, etc. The following methods and properties are available on all records.

Function / Property Description Parameters Returns
getValue(fieldName: string): any Returns the value of the specified field. fieldName (string): The name of the field.

any

getReferenceValue( referenceFieldName: string): Record

Returns a reference to the record populated in the specified reference field. referenceFieldName (string): The name of the reference field.

record

id: number The ID of the record. None number
created: Date The created time of the record in UTC. None

date

name: string The name of the record, if a "use as record's name" short text field is defined. None

string

sort: number The sort of the record, if a "use as record's sort" integer field is defined. None

number

color: number The color of the record, if a "use as record's color" color field is defined. None

number

icon: string The icon of the record, if a "use as record's icon" short text field is defined. None

string

Back to help