
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-29-2020 05:18 AM
Hi all,
There is a group called, Nike Owners. There are four more groups called Nike A, Nike B, Nike C, Nike D.
My requirement is, all the managers of the groups Nike A,B,C,D must populate in Group Members related list of the group Nike owners. Using script i want o achieve this. So should i go with display BR, or something else. Can some one give me script plz
Regards,
Indup
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-30-2020 01:25 AM
Hi,
below comments
Are those groups already existing? if yes then currently you will have to manually add the Group Managers of Nike A, Nike B, Nike C, Nike D to the Group Nike Owners
1) For Existing scenario -> do it manually if less group; if more groups are there then write background script
2) For real-time scenario -> below approach
For making it real-time whenever manager of any of the 4 groups changes you want it to be added and remove the older one
Please use below approach
Business Rule on Group Table
BR Condition: Name is One of those 4 and Manager Changes
After Update:
Script: It would get previous manager and current manager
query table and delete record of previous manager and create new record for current manager
var previousManager = previous.manager;
var currentManager = current.manager;
// query Group Member Table
var member = new GlideRecord('sys_user_grmember');
member.addQuery('group', current.sys_id);
member.addQuery('user', previousManager);
member.query();
if(member.next()){
member.deleteRecord(); // this will delete old manager
// now you need to add new manager to this group as member
var member1 = new GlideRecord('sys_user_grmember');
member1.initialize();
member1.group = current.sys_id;
member1.user = currentManager;
member1.insert();
}
Mark ✅ Correct if this solves your issue and also mark 👍 Helpful if you find my response worthy based on the impact.
Thanks
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-29-2020 05:39 AM
Hello,
var grp = new GlideRecord('sys_user_grmember');
grp.addQuery('group','sysid_of_managers_group');
grp.addQuery('user',current.sys_id);
grp.query();
if(!grp.next())
{
grp.initialize();
grp.group = sysid_of_managers_group;
grp.user = current.sys_id;
grp.insert();
}}
else
{
var grp1 = new GlideRecord('sys_user_grmember');
grp1.addQuery('group','sysid_of_managers_group');
grp1.addQuery('user',current.sys_id);
grp1.query();
if(grp1.next())
{
grp1.deleteRecord();
}
}
Modify some script according to requirement.
If answer is useful mark correct!
Thanks,
Pratiksha

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-29-2020 05:42 AM
Hi Pratiksha,
Thanks for the code. Where i have to write this code?
Regards,
Indup

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-29-2020 05:47 AM
Hello,
Try creating After business rule on 'User' table with both Insert and Update checked.
Thanks,
Pratiksha

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-29-2020 06:26 AM