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.

If Manager of the Group has role snc_external than dont grant approver_user role automatically

Mayuri1711
Tera Contributor
Modification for business rule not to grant approver_user role for the manager having snc_external role
1 ACCEPTED SOLUTION

Danish Bhairag2
Tera Sage

Hi @Mayuri1711 ,

 

Plz try this code

 

GROUP= 'approval group of managers'

if (current.manager){

var userRole = new GlideRecord ('sys_user_has_role');

userRole.addQuery('role', 'snc_external');// provide sys I'd of the role or name here

userRole.addQuery('user',current.manager);

userRole.query();

if(userRole.next()){

// Do nothing

}else{

        var grpMember = new GlideRecord('sys_user_grmember');

        grpMember.addEncodedQuery('group=edbea634f7d47010ec1c41b84851e06f^user=' + current.manager);

        grpMember.query();

        //gs.addInfoMessage(grpMember.getRowCount());

        if (!grpMember.next()) {

            grpMember.initialize();

            grpMember.group = 'edbea634f7d47010ec1c41b84851e06f';

            grpMember.user = current.manager;

            grpMember.insert();

        }

    }

}

 

Thanks,

Danish

 

View solution in original post

2 REPLIES 2

Mayuri1711
Tera Contributor
GROUP= 'approval group of managers'
if
(current.manager){
        var grpMember = new GlideRecord('sys_user_grmember');
        grpMember.addEncodedQuery('group=edbea634f7d47010ec1c41b84851e06f^user=' + current.manager);
        grpMember.query();
        //gs.addInfoMessage(grpMember.getRowCount());
        if (!grpMember.next()) {
            grpMember.initialize();
            grpMember.group = 'edbea634f7d47010ec1c41b84851e06f';
            grpMember.user = current.manager;
            grpMember.insert();
        }
    }

Danish Bhairag2
Tera Sage

Hi @Mayuri1711 ,

 

Plz try this code

 

GROUP= 'approval group of managers'

if (current.manager){

var userRole = new GlideRecord ('sys_user_has_role');

userRole.addQuery('role', 'snc_external');// provide sys I'd of the role or name here

userRole.addQuery('user',current.manager);

userRole.query();

if(userRole.next()){

// Do nothing

}else{

        var grpMember = new GlideRecord('sys_user_grmember');

        grpMember.addEncodedQuery('group=edbea634f7d47010ec1c41b84851e06f^user=' + current.manager);

        grpMember.query();

        //gs.addInfoMessage(grpMember.getRowCount());

        if (!grpMember.next()) {

            grpMember.initialize();

            grpMember.group = 'edbea634f7d47010ec1c41b84851e06f';

            grpMember.user = current.manager;

            grpMember.insert();

        }

    }

}

 

Thanks,

Danish