Incidents created by particular group members.

Amrita4
Kilo Contributor

Hi, I want all the Incidents which were created by each and every member of the group. i tried some script available on community but still facing issue to get all incident not getting accurate result

 

Thanks in advance

1 ACCEPTED SOLUTION

Anish kumar
Kilo Guru

Hi Amrita

 

To find list of incident opened by people in the group you need to do this 

Use the below code

Created a Script Include

 

Name = groupMember

Client Callable = true

 

 

Script

var groupMember = Class.create();
groupMember.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getMember: function(grmember){
var mbrs = "";
var gr = new GlideRecord("sys_user_group");
gr.get("name",grmember);

var grmember = new GlideRecord('sys_user_grmember');
grmember.addQuery('group', gr.sys_id);
grmember.query();
while (grmember.next()) {
mbrs += grmember.user.user_name.toString();
if(grmember.hasNext())
mbrs += ",";
}

return mbrs;

},

type: 'groupMember'
});

 

 

In your Incident List

find_real_file.png

 

Created By is one of javascript:new groupMember().getMember("Service Desk");

 

Instead of Service Desk, you can give the group name of your choice and it will pull all the members of that group. and when you run the condition it will show you the list of incidents opened by people in the group(in this case it will show all incident created by group member of service desk)

 

 

Hope this will be useful for you.

Kindly mark it correct and helpful if it solves your issue.

 

Thanks and Regards,

Anish Kumar

View solution in original post

2 REPLIES 2

Willem
Giga Sage
Giga Sage

Have you tried this?:

https://community.servicenow.com/community?id=community_question&sys_id=2c4ae864db8b94d0d5c4d9d96896...

 

It is creating a dynamic filter with below code that is usable to filter on users that are part of your groups:

 

If you want only a specific group you van change:

var grpName = gs.getUser().getMyGroups();

 

To

var grpName =< sys_id of the group you want >;

function groupMembers() {
    var grpName = gs.getUser().getMyGroups();
    var mbrs = new Array();
    var grmember = new GlideRecord('sys_user_grmember');
    grmember.addQuery('group', 'IN', grpName);
    grmember.query();
    while (grmember.next()) {
        mbrs.push(grmember.user.toString());
    }
    return mbrs;
}

 

Works like this:

find_real_file.png

Anish kumar
Kilo Guru

Hi Amrita

 

To find list of incident opened by people in the group you need to do this 

Use the below code

Created a Script Include

 

Name = groupMember

Client Callable = true

 

 

Script

var groupMember = Class.create();
groupMember.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getMember: function(grmember){
var mbrs = "";
var gr = new GlideRecord("sys_user_group");
gr.get("name",grmember);

var grmember = new GlideRecord('sys_user_grmember');
grmember.addQuery('group', gr.sys_id);
grmember.query();
while (grmember.next()) {
mbrs += grmember.user.user_name.toString();
if(grmember.hasNext())
mbrs += ",";
}

return mbrs;

},

type: 'groupMember'
});

 

 

In your Incident List

find_real_file.png

 

Created By is one of javascript:new groupMember().getMember("Service Desk");

 

Instead of Service Desk, you can give the group name of your choice and it will pull all the members of that group. and when you run the condition it will show you the list of incidents opened by people in the group(in this case it will show all incident created by group member of service desk)

 

 

Hope this will be useful for you.

Kindly mark it correct and helpful if it solves your issue.

 

Thanks and Regards,

Anish Kumar