SimpleEmailTemplate
This class provides methods to execute the code on the server-side using Script Includes. Use it to create branded notifications.
setTitle(title)
Use this method to set the main header of the email notification.
Parameter(s):
Name | Type | Mandatory | Default value |
---|---|---|---|
title | String | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.setTitle(`${current.number} ${current.subject}`);
setBodyHeader(bodyHeader)
Use this method to set the header of the notification text body.
Parameter(s):
Name | Type | Mandatory | Default value |
---|---|---|---|
bodyHeader | String | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
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)
Use this method to set the main text body of the email notification.
Parameter(s):
Name | Type | Mandatory | Default value |
---|---|---|---|
bodyText | String | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
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)
Use this method to set the email notification comment in the following way:
- put it in an area with a gray background.
- highlight it italic.
Parameter(s):
Name | Type | Mandatory | Default value |
---|---|---|---|
comment | String | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.setComment(`Comment: ${current.additional_comments}`);
getTitle()
Use this method to return the main header of the notification.
Return:
Type | Description |
---|---|
String | This method returns the main header of the notification. |
Example:
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.setTitle(`${current.number} ${current.subject}`);
ss.info(htmlTemplate.getTitle()); // Result: INC0000XXX Email not working
getBodyHeader()
Use this method to return the main header of the text body.
Return:
Type | Description |
---|---|
String | This method returns the main header of the text body. |
Example:
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()
Use this method to return the text body.
Return:
Type | Description |
---|---|
String | This method returns the main text body. |
Example:
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()
Use this method to return a comment text.
Return:
Type | Description |
---|---|
String | This method returns а comment text. |
Example:
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.setComment(`Comment: ${current.additional_comments}`);
ss.info(htmlTemplate.getComment()); // Result: Need more information
getButtons()
Use this method to return the array of buttons.
Return:
Type | Description |
---|---|
Array | This method returns an array of buttons. |
Example:
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()
Use this method to add a new button to the 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 | This method returns an array of buttons, including the new one. |
Example:
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.addButton('Approve', 'https://instance.example.com');
removeButton()
Use this method to remove the last added button.
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
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()
Use this method to remove all added buttons.
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
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)
Use this method to set an internal method for input type validation.
Parameter(s):
Name | Type | Mandatory | Default value |
---|---|---|---|
propertyName | String | Y | N |
input | String/Number | Y | N |
propertyTitle | String | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
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()
Use this method to create and return an HTML template based on the set properties.
Return:
Type | Description |
---|---|
String | This method returns an HTML template. |
Example:
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());