- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2014 03:34 AM
Hi all,
Please see below for our 'Incident Escalated' e-mail, specifically the 'What will it contain' notification details:
* * *
<font face="Calibri">
The following incident has been set to escalated by ${sys_updated_by}:
Customer: ${caller_id}
Updated: ${sys_updated_on}
Priority: ${priority}
Assignment group: ${assignment_group}
Assigned to: ${assigned_to}
Click here to view the incident: ${URI_REF}
* * *
We just want to change this part: The following incident has been set to escalated by ${sys_updated_by}: so instead of showing the user ID of who last updated the record, it shows the name of who last updated it. We have tried dot walking using ${sys_updated_by.name}: but this is not working. I have since realised this is because it is not a reference field back to the sys_user table.
I understand this should be relatively simple so any assistance would be much appreciated.
Many thanks,
D
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2014 06:59 AM
Hi dasi,
I put in my reply that the script would return the UserID.
It depends what you want to display. If you want the name, you need to do a little more scripting, and use the mail script as proposed by Sanjeev Kumar above, edited to suit your needs. I've added comments in Blue.
- <mail_script>
- var userid = current.sys_updated_by; // Gets the User ID
- var gr = new GlideRecord('sys_user'); // Creates new GlideRecord Object
- gr.addQuery('user_name', userid); // Queries the table for the record of our user found in line 2
- gr.query();
- if (gr.next()) { // If it finds one....
- var userName = gr.name; // set the variable "username" as the users name.
- }
- template.print("Updated By: "+userName); // Print the text "Updated By:" and then the username variable from line 7.
- </mail_script>
Best to remove the comments before adding to your email. This has been tested and works fine on my instance.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2014 04:31 AM
Thanks Neil - so there is no way round having to script this solution then?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2014 04:56 AM
Workaround with a little bit of scripting..
Create a new field on the table u_updated_by_name. Make this field Text Type. Keep this Field Hidden.
Create a On-Before Update Business Rule that will set the value on this Field as the display name of the User:-
current.u_updated_by_name = current.sys_updated_by.getDisplayValue();
Now use the ${u_updated_by_name} in your Email Notification.
Thanks,
Subhajit
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2014 05:15 AM
Thank-you Subhajit, I am trying your proposed solution now but the new field does not seem to be populating with a name as hoped (I have it visible on the incident form for testing). Any ideas?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2014 05:41 AM
@dasi: have you used current.update() so that it gets populated
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2014 06:08 AM
You can use the same BR that Sanjeev provided over here.
Thanks,
Subhajit