- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hello all,
We have a notification that fires on the BR created event below. The notification has the group and the old manager removed, I am trying to find the variable that shows the new manager this BR replaced. We want one notification that says <old manager> removed and replaced with <new manager> in this <group name>.
I am trying to find the new manager variable to put in the notification. Else a new way to do this?
The BR from Solved: Re: Auto remove inactive managers from active grou... - ServiceNow Community
The BR is:
sys_user that says
before Insert
condition current.active.changesTo('false')
var group = new GlideRecord('sys_user_group');
group.addQuery('manager', current.sys_id);
group.query();
while(group.next()){
group.manager = current.manager;
group.update();
gs.eventQueue('group.manager.changed', group, group.manager, current.name);}
var grmember = new GlideRecord('sys_user_grmember');
grmember.addQuery('user', current.sys_id);
grmember.query();
while(grmember.next()){
grmember.deleteRecord();
}
Thanks
Nick
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hi @Nicholas Hromya ,
step 1
create a event in the event registry (name= group.manager.changed and table = sys_user_group)
2. create a BR
script ( i have slightly modified the script)
(function executeRule(current, previous /*null when async*/ ) {
var group = new GlideRecord('sys_user_group');
group.addQuery('manager', current.sys_id);
group.query();
while (group.next()) {
group.manager = current.manager;
group.update();
gs.eventQueue('group.manager.changed', group, current.manager.name, current.name);
}
var grmember = new GlideRecord('sys_user_grmember');
grmember.addQuery('user', current.sys_id);
grmember.query();
while (grmember.next()) {
grmember.deleteRecord();
}
})(current, previous);
3 create a notification
u can use the ${event.parm1} for the new manager and ${event.parm2} for the old manager name
you can customize the notification content as per you need
Please mark my answer as helpful/correct if it resolves your query.
Regards,
Chaitanya
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hi @Nicholas Hromya ,
step 1
create a event in the event registry (name= group.manager.changed and table = sys_user_group)
2. create a BR
script ( i have slightly modified the script)
(function executeRule(current, previous /*null when async*/ ) {
var group = new GlideRecord('sys_user_group');
group.addQuery('manager', current.sys_id);
group.query();
while (group.next()) {
group.manager = current.manager;
group.update();
gs.eventQueue('group.manager.changed', group, current.manager.name, current.name);
}
var grmember = new GlideRecord('sys_user_grmember');
grmember.addQuery('user', current.sys_id);
grmember.query();
while (grmember.next()) {
grmember.deleteRecord();
}
})(current, previous);
3 create a notification
u can use the ${event.parm1} for the new manager and ${event.parm2} for the old manager name
you can customize the notification content as per you need
Please mark my answer as helpful/correct if it resolves your query.
Regards,
Chaitanya
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Thank you for replying.
I do see your
gs.eventQueue('group.manager.changed', group, current.manager.name, current.name);Is different than ours as
Thank you!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
so what debugging did you do?
where are you stuck?
💡 If my response helped, please mark it as correct ✅ and close the thread 🔒— this helps future readers find the solution faster! 🙏
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
