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.

Getting user object in script include

samadam
Kilo Sage

I am trying to check if user is a member of the group in a script include using the following but doesnt work. Calling this script include from a fix script.

 

var u_obj = new GlideRecord('sys_user');
u_obj.get(sys_id);

if (u_obj.isMemberOf('Developer')) {}

 

I get the following error

Evaluator: com.glide.script.RhinoEcmaError: Cannot find function isMemberOf in object [object GlideRecord].
   script : Line(109) column(0)

Any ideas on how to fix this? This is in scoped application 

1 ACCEPTED SOLUTION

Nia McCash
Mega Sage
Mega Sage

isMemberOf is not a valid function of GlideRecord. You should be querying the Group Membership table [sys_user_grmember].

 

Something like:

var membership = new GlideRecord('sys_user_grmember');
membership.addEncodedQuery("group.nameSTARTSWITHDeveloper");
membership.addQuery('user', sys_id);
membership.query();

if (membership.hasNext())
  return true;
else 
  return false;

View solution in original post

1 REPLY 1

Nia McCash
Mega Sage
Mega Sage

isMemberOf is not a valid function of GlideRecord. You should be querying the Group Membership table [sys_user_grmember].

 

Something like:

var membership = new GlideRecord('sys_user_grmember');
membership.addEncodedQuery("group.nameSTARTSWITHDeveloper");
membership.addQuery('user', sys_id);
membership.query();

if (membership.hasNext())
  return true;
else 
  return false;