Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to check if currently logged in user is in one of the groups - ACL script

Kasia5
Tera Contributor

Hi All,

I have a watch_list field in a form and I need to create an ACL because this field should be visible only when user is in one of the groups which name starts with ABC or DEF. How can I write a script in ACL to achieve this?

I was trying for example with:

var gr = new GlideRecord('sys_user_grmember');
gr.addQuery('user', gs.getUser());
gr.addQuery('group', 'groupSTARTSWITHabc^ORgroupSTARTSWITHdef');
gr.query();

if (gr.next()) {
    answer = true;
} else {
    answer = false;
}

Thanks in advance for help

2 REPLIES 2

Mohith Devatte
Tera Sage
Tera Sage

Hye ,

Please try below script

if(gs.getUser().isMemberOf('ABC') ||gs.getUser().isMemberOf('DEF') )

{

answer=true;

}

else

{

answer=false;

}

Please accept this solution if you find it helpful 

Voona Rohila
Mega Patron
Mega Patron

Hi Kaisa

small changes in your code, 

var gr = new GlideRecord('sys_user_grmember');
gr.addQuery('user', gs.getUser());
gr.addEncodedQuery('groupSTARTSWITHabc^ORgroupSTARTSWITHdef'); 
//gr.addQuery('group', 'STARTSWITH','abc^ORgroupSTARTSWITHdef');//you can also use this.
gr.query();
if (gr.next()) {
    answer = true;
} else {
    answer = false;
}

solution provided by mohit also works.


Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP