Display variables that are references in email notification

s_bastientheure
Tera Contributor

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);

1 ACCEPTED SOLUTION

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

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

View solution in original post

15 REPLIES 15

Voona Rohila
Kilo Patron
Kilo Patron

Hi sĂ©bastientheurel

can you show the variable set details?

 


Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP

Hi Rohila

here is one of the variable set :

find_real_file.png

find_real_file.png

Try this

keep logs and verify the values

gs.info("employee name "+  current.variables.v_employee_name.name);
template.print("Le changement de responsable de " + current.variables.v_employee_name.name + " 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() + ".");

 


Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

your notification is on which table?

based on that script might change

Regards
Ankur

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