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);
            }
        }
    }