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

titleStringYN

Return:

Type

Description

VoidThis method does not return a value.


Code Block
languagejs
themeEclipse
titlesetTitle
linenumberstrue
 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

bodyHeaderStringYN

Return:

Type

Description

VoidThis method does not return a value.


Code Block
languagejs
themeEclipse
titlesetBodyHeader
linenumberstrue
  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

bodyHeader
bodyTextStringYN

Return:

Type

Description

VoidThis method does not return a value.


Code Block
languagejs
themeEclipse
titlesetBodyText
linenumberstrue
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 wraps

This method sets the email notification comment:

  • puts it in an area with a grey
background, also becomes italic)    @param {string} comment - Comment text
  • background 
  • highlights it italic.

Parameter(s):

Name

Type

Mandatory

Default value

bodyHeader
commentStringYN

Return:

Type

Description

VoidThis method does not return a value.


Code Block
languagejs
themeEclipse
getTitle(title
titlesetComment
linenumberstrue
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

StringThe main header of notification.


Code Block
languagejs
themeEclipse
titlegetTitle
linenumberstrue
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

StringThe main header of text body.


Code Block
languagejs
themeEclipse
titlegetBodyHeader
linenumberstrue
getBodyText(bodyText
 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

StringThe main text body.


Code Block
languagejs
themeEclipse
titlegetBodyText
linenumberstrue

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

StringThe comment text.


Code Block
languagejs
themeEclipse
titlegetComment
linenumberstrue
getButtons(buttons
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

ArrayThe array of buttons.


Code Block
languagejs
themeEclipse
titlegetButtons
linenumberstrue
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

textStringYN
urlStringYN
colorString
Y
NN
buttonArrayArrayYN

Return:

Type

Description

ArrayThe base of buttons array with the new one.


Code Block
languagejs
removeButton(button
themeEclipse
titleaddButtons
linenumberstrue
ss.importIncludeScript('SimpleEmailTemplate');
const htmlTemplate = new SimpleEmailTemplate('');
htmlTemplate.addButton('Approve', 'https://instance.example.com');

removeButton()


 This method removes the last added button.

Code Block
languagejs
themeEclipse
titleremoveButton
linenumberstrue
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
languagejs
themeEclipse
titleremoveAllButtons
linenumberstrue
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

propertyNameStringYN
input
Any
String/NumberYN
propertyTitleStringYN


Code Block
languagejs
themeEclipse
titlesetProperty
linenumberstrue
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

StringThe HTML template.


Code Block
languagejs
themeEclipse
titleformEmailTemplate
linenumberstrue
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
absoluteUrltrue
classfixedPosition
printablefalse