Skip to content

Instantly share code, notes, and snippets.

@cmcdevitt
Last active August 29, 2021 07:31
Show Gist options
  • Select an option

  • Save cmcdevitt/d978cbffccca12ffa230 to your computer and use it in GitHub Desktop.

Select an option

Save cmcdevitt/d978cbffccca12ffa230 to your computer and use it in GitHub Desktop.
ServiceNow Script Include used to return an array of user id from a group. Using this for a Scripted Filter
function GrpMem(group_name){
//This arrary will hold the user id of the group members
var arrUsers = [];
//Need to lookup user id later
var usr = new GlideRecord('sys_user');
//Need to get sys_id of the group
var grpSysId = cmGetSysID(group_name,'sys_user_group');
//Need to look up the Group Members
gr = new GlideRecord('sys_user_grmember');
gr.addQuery('group',grpSysId);
gr.query();
while (gr.next()){
usr.initialize(); //Utilise the 'sys_user' table
usr.addQuery('sys_id',gr.user);
usr.query();
while (usr.next()) {
//gs.log("++CM: " + usr.user_name);
arrUsers.push(usr.user_name + "");
}
}
return arrUsers;
}
function cmGetSysID(itemName,tableName,fieldName){
var defaultField = 'name';
var fldName = (typeof fieldName === 'undefined')?defaultField:fieldName;
var gdRec = new GlideRecord(tableName);
gdRec.addQuery(fldName, '=', itemName);
gdRec.query();
//gs.log("CM:itemName: " + itemName + " tableName: " + tableName + " fieldName: " + fieldName + " fldName: " + fldName);
if(gdRec.next()){
return gdRec.sys_id;
}else{
return false;
}
}
//Call in Report as: javascript:GrpMem('Service Desk')
//Example Filter: "created by, is, javascript:GrpMem('Service Desk')"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment