logo

NJP

Change Management Script Impacted CI auto creation

Import · Aug 13, 2020 · article

/*Script to get the parent CI from CMDB rel CI and create impacted service/CI records*/

var sDebug = '';

var allowedClasses = 'cmdb_ci_linux_server,cmdb_ci_win_server'; // Make a system property to store the list of CI classes in scope

var changeSysId = 'xxxxxxxxxxxxxxxxx'; // This should be current.sys_id if you are using in workflow or BR.

var encodedQuery = 'task=' + changeSysId;

var grTaskCi = new GlideRecord('task_ci');

grTaskCi.addEncodedQuery(encodedQuery);

grTaskCi.query();

while(grTaskCi.next()) {

sDebug += "\nAffected CIClasses" + grTaskCi.ci_item.sys_class_name;

if(allowedClasses.indexOf(grTaskCi.ci_item.sys_class_name) >-1) {

sDebug +="TaskCI=grTaskCi.ci_item.sys_id";

if(!JSUtil.nil(grTaskCi.ci_item.sys_id) && !(grTaskCi.ci_item.sys_id === undefined)) {

getParentCi(grTaskCi.ci_item.sys_id, changeSysId);

}

}

}

function getParentCi(ciSysId, changeSysId) {

var relType = '60bc4e22c0a8010e01f074cbe6bd73c3'; // Make a system property to store this value

var encodedQuery = 'child.sys_class_nameINSTANCEOFcmdb_ci_serverparent.sys_class_name=cmdb_ci_apache_web_serverORparent.sys_class_name=cmdb_ci_app_server_jbosstype=' + relType +'child=' + ciSysId; // can be updated to include additional classes

sDebug +="\n relQuery=" + encodedQuery;

var grRel = new GlideRecord('cmdb_rel_ci');

grRel.addEncodedQuery(encodedQuery);

grRel.query();

while(grRel.next()) {

sDebug += "\n Impacted CI SysIds" + grRel.parent.name;

insertImpactedCI(grRel.parent.sys_id,changeSysId);

}

}

function insertImpactedCI(ciSysId,changeSysId) {

sDebug +="\n taskId=" + changeSysId + " CIId=" + ciSysId;

var grImpact = new GlideRecord('task_cmdb_ci_service');

grImpact.initialize();

grImpact.cmdb_ci_service = ciSysId;

grImpact.task = changeSysId;

grImpact.insert();

}

gs.print(sDebug); // Can be commented once you are comfortable that it is working.

View original source

https://www.servicenow.com/community/itsm-articles/change-management-script-impacted-ci-auto-creation/ta-p/2310840