
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-26-2017 05:12 PM
I want to send an email notification to the owner group of a CI (cmdb_ci).
In my form, I have variable that is a reference to cmdb_ci. If the user selects 'WAM admin', I want to be able to send the email notification to the owner group of thaT ci.
I have an event in my workflow.
Solved! Go to Solution.
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-31-2017 08:23 PM
In line 05 there is mem.addQuery... why did you use 'group'.
It says "of all the records in this table, I only want the ones where the group field is the value of groupID (the same as the group in your support group field earlier.)
In line 08...I know you have to push the email members to the array but.. how do you know it will be mem.user.email.toString() ? Like how do you know u have to use user and email?
This is a concept known as dot-walking. It's a way to quickly traverse the relationships of reference fields and tables. I'm building an array of strings (email addresses.) By default, all fields are represented in memory as Javascript objects so I'm converting the email field to a string. That field is coming from the user record that is referenced by the mem record. mem.user is a sys_id to a record on sys_user. sys_user holds a user's profile details. I want the email address. That's what mem.user.email.toString() is doing.
In line 12... could you explain that line to me?
That's the line that actually tells the event engine to queue up the event "catalog.opening.dns.notification". The second parameter is the current record (which is the request item details, the third is your list of email address (converted from an array to a comma separated string), and the fourth is empty.
Events and Email Notifications - ServiceNow Wiki
If I have answered your question, please mark my response as correct so that others with the same question in the future can find it quickly and that it gets removed from the Unanswered list.
If you are viewing this from the community inbox you will not see the correct answer button. If so, please review How to Mark Answers Correct From Inbox View.
Thank you

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-03-2017 07:07 AM
Before you were getting a list of members based on a group ID. In this script, you are trying to do the same thing, but using a user's ID. There are no groups in the sys_user_grmember table that have a group sys_id the same as the user's sys_id.
If you just want to send a notification to the 'owned by' user, just send it to that one person. You don't need to query the group membership table.
Something like this (although I think someone may have a far easier way.)
//Create an Event and send it to Solutions Manager.
var solManagID = current.variables.impacted_ci_first.owned_by.toString();
gs.print('sol ID '+ solManagID ); //Did we get the solution manager ID?
var user = new GlideRecord("sys_user");
if (user.get(solManagID)) {
gs.eventQueue("catalog.opening.dns.notification", current, user.email, '');
}