The CreatorCon Call for Content is officially open! Get started here.

Please correct the script

Saib1
Tera Guru

Hi

 

I have applied this logic but it is not working , can someone tell me whats wrong here

 

Scripted REST API 

********************

if (action_required == "Add User to Group") {
 
        //Add Role to Group
        var group = new GlideRecord("sys_user_grmember");
        group.addQuery("user", userSysId);
        group.addQuery("group", groupSysId);
        group.query();
        if (group.next()) {
            gs.log("Group exists");
            var respbody4 = {
                "message": "Role already exists"
            };
            response.setContentType('application/json');
            response.setStatus(400);
            response.setBody(respbody4);
 
        } else {
            group.initialize();
            group.setDisplayValue('user', NameofUser);
            group.setDisplayValue('group', NametoGroup);
            // role1.state = "Active";
            group.insert();
gs.log("Group Inserted");
            var respbody5 = {
                "message": "Role added successfully"
            };
            response.setContentType('application/json');
            response.setStatus(200);
            response.setBody(respbody5);
 
        }
       
    }
2 REPLIES 2

Bert_c1
Kilo Patron

You messages above mention "Role" and not "Group", but that is just a message. In your "else" code block, where you create a new record in the 'sys_user_grmember" table Replace

 

            group.setDisplayValue('user', NameofUser);
            group.setDisplayValue('group', NametoGroup)

with

            group.user = userSysID;
            group.group = groupSysID;

Like your query to see if a record exists.

Anand Kumar P
Giga Patron

Hi @Saib1 ,
User below script it will work.

if (action_required == "Add User to Group") {
 
        //Add Role to Group
        var group = new GlideRecord("sys_user_grmember");
        group.addQuery("user", userSysId);
        group.addQuery("group", groupSysId);
        group.query();
        if (group.next()) {
            gs.log("Group exists");
            var respbody4 = {
                "message": "Role already exists"
            };
            response.setContentType('application/json');
            response.setStatus(400);
            response.setBody(respbody4);
 
        } else {
           group.initialize();
            group.user = userSysId;
            group.group = groupSysId;
            group.insert();
gs.log("Group Inserted");
            var respbody5 = {
                "message": "Role added successfully"
            };
            response.setContentType('application/json');
            response.setStatus(200);
            response.setBody(respbody5);
 
        }
       
    }