Email script

Sironi
Kilo Sage

Hi,

someone help on incident script,

send  incident details list to assigned to if incident state is OnHold on single notification .

ex: DavidLoo hasbeen assigned to 10-incidents , in 10-incidents there are 7 incidents have state -onhold. so DavidLoo should receive 7-incident details (number, shortdescription, caller , priority)  in a single email.

i tried with below script, it is getting single incident details, how to get all in single email.

template.print("number :"+"${number}\n");

template.print("number :"+"${priority}\n");

template.print("number :"+"${caler_id}\n");

template.print("number :"+"${short_description}\n");

 

1 ACCEPTED SOLUTION

Hi,

I just updated the job code

It triggered 3 emails to 3 different users

Email triggered to David Loo has incident info Assigned to David Loo

Email triggered to Rosie Mathews has incident info Assigned to Rosie Mathews

Email triggered to Fred Luddy has incident info Assigned to Fred Luddy

Now the only thing you need to check is why it didn't send email to other 6 users

Updated Job Code:

sendEmail();

function sendEmail() {

	var gr = new GlideAggregate("incident");
	gr.addAggregate("COUNT");
	gr.addEncodedQuery('active=true^assigned_toISNOTEMPTY');
	gr.groupBy("assigned_to");
	gr.query();
	while(gr.next()) {
		var user = gr.assigned_to;
		var incRec = new GlideRecord('incident');
		incRec.get('assigned_to', user);
		gs.eventQueue('test_list', incRec, incRec.assigned_to, incRec.assigned_to);
	}
}

Regards
Ankur

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

View solution in original post

46 REPLIES 46

Hi Sironi,

you need to enhance the job as this for all assigned to users

use query as below;

Note: ensure you set the proper recipient; in this case the assigned_to person

sendEmail();

function sendEmail(){

var gr = new GlideRecord('incident');

gr.addEncodedQuery('active=true^assigned_toISNOTEMPTY');

gr.query();

while(gr.next()){

gs.eventQueue('test-list', gr, gr.assigned_to, ''); // send email to assigned to user
}

}

Regards
Ankur

 

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

Hi Ankur,

sorry it is not working

sendEmail();

function sendEmail(){

var gr = new GlideRecord('incident');

gr.addEncodedQuery('active=true^assigned_toISNOTEMPTY');

gr.query();

if(gr.next()){

gs.eventQueue('test-list', gr, gr.assigned_to, ''); // send email to assigned to user
}

}

 

 

i tried below format also, it is also not working..

sendEmail();
function sendEmail() {
var gg = new GlideRecord('sys_user');
gg.addQuery('active=true');
gg.query();
while (gg.next()) {
var userSysId = gg.sys_id;
var gr = new GlideRecord('incident');
gr.addEncodedQuery('active=true^assigned_to=' + userSysId);
gr.query();
if (gr.next()) {
gs.eventQueue('test-list', gr, gs.getUserID(), gs.getUserName());
}
}
}

Hi,

can you try this; see changes in bold

sendEmail();

function sendEmail(){

var gr = new GlideRecord('incident');

gr.addEncodedQuery('active=true^assigned_toISNOTEMPTY');

gr.query();

while(gr.next()){

gs.eventQueue('test-list', gr, gs.getUserID(), gs.getUserName());
}

}

Regards
Ankur

 

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

not repeated earlier issue.

sendEmail();

function sendEmail(){

var gr = new GlideRecord('incident');

gr.addEncodedQuery('active=true^assigned_toISNOTEMPTY');

gr.query();

while(gr.next()){

gs.eventQueue('test-list', gr, gs.getUserID(), gs.getUserName());
}

}

 

Hi,

I could see email getting triggered with subject as "Test List"

Is that not the valid email which you are expecting?

Regards
Ankur

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