Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Adding cat item variables to email notification

matthew_magee1
Giga Guru

Hi all,

I think I'm trying to do something pretty simple.

 

I have a few variables on my catalog item form that I need to pull into an email notification. One of the fields being 'alt_poc_phone'

 

I've tried GlideRecord and current.variable_pool.alt_poc_phone and neither seems to work.

 

I've also referenced the following wiki page (Scripting for Email Notifications - ServiceNow Wiki), but something's not clicking (on my part).

 

Any help is greatly appreciated (with examples)

 

MM

1 ACCEPTED SOLUTION

Mandar/Adam-



Follow up to my post. For some reason the mail script is working now. I'm not sure why it wasnt' working earlier. I guess I had a typo or something.



Here's the script that works:



<mail_script>


var item = new GlideRecord("sc_req_item");


item.addQuery("request", current.sys_id);


item.query();


while(item.next()) {


var catalogItem = item.number + ': ' + item.cat_item.getDisplayValue();


var misc = item.variable_pool.alt_poc;


template.print(catalogItem + "<br/> Field: " + misc);


}


</mail_script>



Really appreciate the feedback guys, couldn't have done this without you-



On to my next challenge


View solution in original post

41 REPLIES 41

matthew_magee1
Giga Guru

FYI-


This works too:


<mail_script>


template.print(current.variable_pool.orderAlternatePOC);


template.print(current.variables.orderAlternatePOC);


template.print(current.variable.orderAlternatePOC);


</mail_script>



However, referencing a variable with current only works if it is NOT a reference field. If it's a reference field, you have to use the glideRecord lookup



Hope this helps!


Hey Matt,



I have done almost everything to get the variables in the email notifications, but in vain. I get either 'undefined' OR just blank . Used the OOB script but its displaying as a paragraph of all the variables and not row-wise.



Do you happen to have any working code with you currently ?



I am using Geneva patch 6. Any help would be greatly appreciated !



Cheers


hadyndickson
Mega Expert

This works for my needs in a Fuji instance. In a mail script:


for(key in current.variables){


  template.print("<div><b>" + current.variables[key].getGlideObject().getQuestion().getLabel() + "</b>: " + current.variables[key].getDisplayValue() + "</div>\r\n");


}


Is there a way to exclude one specific variable - we have a social security number field that should not be included in the notfication.

Yes, add an if statement in the loop and check for your variable and conditionally exclude it.