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 |
|
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 |