Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
This class allows the client-side script to execute the code on the server-side using Script Includes. it is used to simply create branded notifications.
property {string} title - Main header of notification
{string} bodyHeader - Header of text body
{string} bodyText - Main text area
{string} comment - Comment wraps in area with grey background, also becomes italic
{array} buttons - Array of buttons (better generate via addButton())
setTitle(title)
Supposed initialising with specified title @param {string} title - Main header of notification
*/
setTitle(title)
This method sets the main header of email notification.
Parameter(s):
Name | Type | Mandatory | Default value |
---|---|---|---|
title | String | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.setTitle(`${current.number} ${current.subject}`); |
setBodyHeader(bodyHeader)
This method sets the header of text body of email notification * @param {string} bodyHeader - Header of text body.
Parameter(s):
Name | Type | Mandatory | Default value |
---|---|---|---|
bodyHeader | String | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
let bodyHeaderTemplate = `<a href="${currentRecordURL}">${emailSubject}</a> <br> The state of ${current.number} changed, new state: ${current.getDisplayValue('state')}.`;
if(current.state == '3'){ //Postponed
bodyHeaderTemplate += `Repeated request: ${current.getDisplayValue('resubmission')}`;
}
bodyHeaderTemplate += `<br><br>You can add information by replying to this letter, do not change the subject of the letter. `;
htmlTemplate.setBodyHeader(bodyHeaderTemplate); |
setBodyText(bodyText)
Sets This method sets the main text body of email notification @param {string} bodyText - Main text body.
Parameter(s):
Name | Type | Mandatory | Default value |
---|
bodyText | String | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const htmlTemplate = new SimpleEmailTemplate(approvalItem.getDisplayValue());
const allApproversObject = JSON.parse(current.additional_parameter);
htmlTemplate.setBodyText(`Dear ${current.getDisplayValue('approver_id')}, you need to approve <a href="${ApprovalItemURL}">${approvalItem.getDisplayValue()}</a> The list of the approval tickets: ${transformToTemplateList(allApproversObject)}`); |
setComment(comment)
Sets comment of email notification (after wrapsThis method sets the email notification comment:
- puts it in an area with a grey
- background
- highlights it italic.
Parameter(s):
Name | Type | Mandatory | Default value |
---|
comment | String | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Code Block | ||||
---|---|---|---|---|
|
| ||||
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.setComment(`Comment: ${current.additional_comments}`); |
getTitle()
This method returns the main header of notification.
Return:
Type | Description |
---|---|
String | The main header of notification. |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const htmlTemplate = new SimpleEmailTemplate(''); htmlTemplate.setTitle(`${current.number} ${current.subject}`); ss.info(htmlTemplate.getTitle()); // Result: INC0000XXX Email not working |
getBodyHeader(
bodyHeader)
This method returns the main header of text body.
Return:
Type | Description |
---|---|
String | The main header of text body. |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
|
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.setBodyHeader(`Incident ${current.number} ${current.subject}`);
ss.info(htmlTemplate.getBodyHeader()); // Result: Incident INC0000XX Email not working |
getBodyText()
This method returns the main text body.
Return:
Type | Description |
---|---|
String | The main text body. |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
|
getComment(comment)
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.setBodyText(`Description ${current.description}`);
ss.info(htmlTemplate.getBodyText()); // Result: Description 27.01.2022 Could not log in to my email, the error 'No access'. |
getComment()
This method returns the comment text.
Return:
Type | Description |
---|---|
String | The comment text. |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
|
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.setComment(`Comment: ${current.additional_comments}`);
ss.info(htmlTemplate.getComment()); // Result: Need more information |
getButtons()
This method returns the array of buttons.
Return:
Type | Description |
---|---|
Array | The array of buttons. |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
ss.importIncludeScript('SimpleEmailTemplate'); const htmlTemplate = new SimpleEmailTemplate(''); htmlTemplate.addButton('Approve', 'https://instance.example.com'); ss.info(htmlTemplate.getButtons()); // Results: [{"text":"Approve","url":"https:\/\/instance.example.com\/","color":"#05C270"},{"text":"Reject","url":"https:\/\/instance.example.com\/","color":"#F73422"}] |
addButton(
button)
This methods adds a new button to array of buttons.
Parameter(s):
Name | Type | Mandatory | Default value |
---|---|---|---|
text | String | Y | N |
url | String | Y | N |
color | String |
N | N | ||
buttonArray | Array | Y | N |
Return:
Type | Description |
---|---|
Array | The base of buttons array with the new one. |
Code Block | ||
---|---|---|
|
| ||||||
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.addButton('Approve', 'https://instance.example.com'); |
removeButton()
This method removes the last added button.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
ss.importIncludeScript('SimpleEmailTemplate'); const htmlTemplate = new SimpleEmailTemplate(''); htmlTemplate.addButton('Approve', 'https://instance.example.com'); if (current.state === '2') { // Incident in the 'In Progress' state htmlTemplate.removeButton(); } |
removeAllButtons(
buttons)
This method removes all added buttons.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.addButton('Approve', 'https://instance.example.com');
htmlTemplate.addButton('Reject', 'https://instance.example.com');
if (current.state === '3') { Incident in the 'Postponed' state
htmlTemplate.removeAllButtons();
} |
setProperty(propertyName, input, propertyTitle)
This method method sets internal method for input type validation
* @param {string} propertyName - Name of property to validate
* @param {any} input - Given input from 'Set' methods
* @param {string} propertyTitle - Title of property for error text
.
Parameter(s):
Name | Type | Mandatory | Default value |
---|---|---|---|
propertyName | String | Y | N |
input |
String/Number | Y | N | |
propertyTitle | String | Y | N |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.setProperty('bodyText', Need information about the incident', 'Body Text');
ss.info(htmlTemplate.getBodyText()); // Result: Need information about the incident |
formEmailTemplate()
This method creates and returns HTML template based on set properties.
Return:
Type | Description |
---|---|
String | The HTML template. |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.setTitle(`${current.number} ${current.subject}`);
htmlTemplate.setComment(`Comment: ${current.additional_comments}`);
htmlTemplate.setBodyHeader(`Incident ${current.number} ${current.subject}`);
htmlTemplate.setBodyText(`Description: ${current.description}`);
email.setBody(htmlTemplate.formEmailTemplate()); |
Table of Contents | ||||||
---|---|---|---|---|---|---|
|