Send email notification to owner group

SNnewbie2
Tera Expert

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.

find_real_file.png

I have an event in my workflow.

1 ACCEPTED SOLUTION

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


View solution in original post

25 REPLIES 25

antin_s
ServiceNow Employee
ServiceNow Employee

Hi Claudia,



Please insert the below script at line # 7 and try.



var group = gr.support_group;




var userList = [];  


var userRec = new GlideRecord("sys_user_grmember");  


userRec.addQuery('group', group.sys_id);


userRec.query();  


gs.log(userRec.getRowCount());


while (userRec.next()) {  


      if (userList.toString().indexOf(userRec.sys_id) == -1) {  


              userList.push(userRec.user.sys_id + "");  


      }  


}  




gs.eventQueue("EVENT-NAME", current, userList.toString());  




Basically, I am getting all the group members and send their user sys_ids to the notification. Dont forget to replace the Event name with the correct one.



Hope this helps. Mark the answer as correct/helpful based on impact.



Thanks


Antin


Can I use this in a run script? I do not want to use a business rule.


antin_s
ServiceNow Employee
ServiceNow Employee

Yes, you can use this in any script as long as you have access to the CI.


antin_s
ServiceNow Employee
ServiceNow Employee

Hi Claudia,



If my reply has answered you question, can you please mark it as 'Correct' to help the community?



Thanks


Antin