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.

Script is not working

jugantanayak
Tera Guru

Hi,

I need help to write an VR Assignment rule script on below conditions.
1. Query CI on VIT(current.cmdb_ci)

2. Query sn_vul_m2m_ci_services with CI from VIT.

3. Check if there are more than 1 service.

4. if 1 service

query cmdb_rel_team with service name to get user groups and assign group to VIT.

5.If >1 service

quit - don't assign

Script:

 var relatedCI = new GlideRecord('cmdb_ci');
    relatedCI.addQuery('sys_id', current.cmdb_ci);
    relatedCI.query();
    if (!relatedCI.next()) {
        gs.log("Related CI not found for VIT");
    //    return;
    }
    var serviceRel = new GlideRecord('sn_vul_m2m_ci_services');
    serviceRel.addQuery('cmdb_ci', relatedCI.sys_id);
    serviceRel.query();
    var serviceCount = serviceRel.getRowCount();
    if (serviceCount === 1) {
            if (serviceRel.next()) {
            var serviceName = serviceRel.service.getDisplayValue();
            var userGroups = new GlideRecord('cmdb_rel_team');
            userGroups.addQuery('cmdb_ci', serviceName);
            if (userGroups.next()) {
                current.assignment_group = userGroups.team.getDisplayValue();
            }
            else {
                gs.log("No user groups found for the service: " + serviceName);
            }
        }
    }

 It seems script is not working, please help. 

Thanks in advance.

Regards,

Juganta

 

 

1 REPLY 1

jugantanayak
Tera Guru
Also tried with below mentioned script but Assignment group is not set.
 var serviceRel = new GlideRecord('sn_vul_m2m_ci_services');
    serviceRel.addQuery('cmdb_ci', current.cmdb_ci);
    serviceRel.query();
    var serviceCount = serviceRel.getRowCount();
    if (serviceCount === 1) {
            if (serviceRel.next()) {
            var serviceName = serviceRel.service.getDisplayValue();
            var userGroups = new GlideRecord('cmdb_rel_team');
            userGroups.addQuery('cmdb_ci', serviceName);
            userGroups.query();
            if (userGroups.next()) {
                current.assignment_group = userGroups.team.getDisplayValue();
            }
            else {
                gs.log("No user groups found for the service: " + serviceName);
            }
        }
    }