The CreatorCon Call for Content is officially open! Get started here.

Get [code] and [/code] fixed in email scripts

lakshmi75
Tera Contributor

Hello ,

Im getting [code] and [/code] while fetching latest worknotes alone through email scripts.

(function runMailScript(current, template, email, email_action, event) {

    var fieldName = 'work_notes';

    var rec = new GlideRecord('sys_journal_field');
    rec.orderByDesc('sys_created_on');
    rec.addQuery('name', current.getTableName());
    rec.addQuery('element', fieldName);
    rec.addQuery('element_id', current.sys_id);
    rec.setLimit(1);
    rec.query();
    if (rec.next()) {
        template.print("Below Worknotes have been added to the Case" + rec.value);
    }
    while (rec.next()) {
        parsedEntry = (rec.getElement("value")
                .getHTMLValue())
           // .replace(/\[\s*(\/|)\s*code\s*]/gi, '');
		.replace(/\[code\]|\[\/code\]/gi, "");
    }

})(current, template, email, email_action, event); //

I have tried all the ideas posted in community but still didnt get it fixed.

Please suggest me if there is any solution

 

1 ACCEPTED SOLUTION

palanikumar
Giga Sage
Giga Sage

Hi,,

Change the script as below

(function runMailScript(current, template, email, email_action, event) {

    var fieldName = 'work_notes';

    var rec = new GlideRecord('sys_journal_field');
    rec.orderByDesc('sys_created_on');
    rec.addQuery('name', current.getTableName());
    rec.addQuery('element', fieldName);
    rec.addQuery('element_id', current.sys_id);
    rec.setLimit(1);
    rec.query();
    if (rec.next()) {
        var parsedEntry = (rec.getElement("value").getHTMLValue()).replace(/\[code\]|\[\/code\]/gi, "");
        template.print("Below Worknotes have been added to the Case" + parsedEntry;
    }

})(current, template, email, email_action, event); //
Thank you,
Palani

View solution in original post

6 REPLIES 6

palanikumar
Giga Sage
Giga Sage

Hi,,

Change the script as below

(function runMailScript(current, template, email, email_action, event) {

    var fieldName = 'work_notes';

    var rec = new GlideRecord('sys_journal_field');
    rec.orderByDesc('sys_created_on');
    rec.addQuery('name', current.getTableName());
    rec.addQuery('element', fieldName);
    rec.addQuery('element_id', current.sys_id);
    rec.setLimit(1);
    rec.query();
    if (rec.next()) {
        var parsedEntry = (rec.getElement("value").getHTMLValue()).replace(/\[code\]|\[\/code\]/gi, "");
        template.print("Below Worknotes have been added to the Case" + parsedEntry;
    }

})(current, template, email, email_action, event); //
Thank you,
Palani

Thanks Palanikumar! It worked  and issue got fixed

Hi,

Mark my response as correct answer if it fixed your issue. You can't mark two response as correct answer

Thank you,

Palani

Thank you,
Palani

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

seems your value of worknotes had HTML code inside it and hence it's giving that

try this

(function runMailScript(current, template, email, email_action, event) {

	var fieldName = 'work_notes';

	var rec = new GlideRecord('sys_journal_field');
	rec.orderByDesc('sys_created_on');
	rec.addQuery('name', current.getTableName());
	rec.addQuery('element', fieldName);
	rec.addQuery('element_id', current.sys_id);
	rec.setLimit(1);
	rec.query();
	if (rec.hasNext()) {
		template.print("Below Worknotes have been added to the Case" + rec.value);
	}
	while (rec.next()) {
		var strWorkNotes = rec.value;
		var r = new RegExp('\\[\/code\\]', 'g');  
		strWorkNotes = strWorkNotes.replace(r, '');  
		var r1 = new RegExp('\\[code\\]', 'g');  
		strWorkNotes = strWorkNotes.replace(r1, '');  

		template.print(strWorkNotes);
	}

})(current, template, email, email_action, event); //

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader