- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-22-2022 09:51 AM
Hi,
I want to display variables content into a notification
Accessing variables doesn't work directly in notification HTML so i've created an email script
I can display some variables (e.g. a date variable) but I can't get others like reference to sys_user table
I tried several methods but it always displays 'undefined'
All my variables are part of variable sets and I'm sure of the variable names
In the script below, only the current.variables.v_change_date.getDisplayValue() displays something right
(function runMailScript(/* GlideRecord */ current, /* TemplatePrinter */ template,
/* Optional EmailOutbound */ email, /* Optional GlideRecord */ email_action,
/* Optional GlideRecord */ event) {
template.print(current.variables.v_employee_name.first_name);
template.print(current.variables.v_employee_name.first_name.getDisplayValue());
var gr = new GlideRecord('sys_user');
gr.addQuery('sys_id',current.variables.v_employee_name);
gr.query();
if (gr.next()){
template.print(gr.first_name);
template.print(gr.first_name.getDisplayValue());
}
template.print("Le changement de responsable de " + current.variables.v_employee_name.name.getDisplayValue() + " de " + current.variables.v_former_manager.name + " vers " + current.variables.v_new_manager.name + " a été fait dans SX en date du " + current.variables.v_change_date.getDisplayValue() + ".");
})(current, template, email, email_action, event);
Solved! Go to Solution.
- Labels:
-
Request Management
-
Service Catalog
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-23-2022 08:22 AM
So here is the issue
your notification is on sc_req_item table but the object you are passing to eventQueue() is current which is sc_task table
Do this
gs.eventQueue('event_name', current.request_item.getRefRecord(), f_manager, n_manager);
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-23-2022 01:52 AM
Hi Ankur, the notification calling the script is based on sc_req_item table
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-23-2022 01:57 AM
Hi,
so are you saying variables within single row variable set are showing as undefined?
I hope the variable set is not Multi row variable set
which variable is working and which is not?
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-23-2022 02:03 AM
this is a Single Row variable set
service catalog Article contains several variable sets, all single row type. One contains the date (v_change_date in the script) which works in the notifications
3 variable sets contains reference to sys_user table and these are shwoing undefined in the notification
here is the result of the script in the initial post
Bonjour,
undefinedundefinedLe changement de responsable de undefined de undefined vers undefined a été fait dans SX en date du 24-02-2022.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-23-2022 03:08 AM
Hi,
irrespective of variable is within single row variable set or present individually this syntax should give the value
current.variables.variableName.getDisplayValue()
are you using correct variable name?
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-23-2022 03:50 AM
I found the problem
Despite the notification is based on sc_req_item, I have to use this :
current.request_item.variables.variableName.getDisplayValue()
this is strange
I also noticed that at request item level the variables are all displayed and at task level the variable are partially displayed (and I updated the workflow available variables)