var ExpireDateTotal = [];
var gr = new GlideRecord('cmdb_ci_certificate');
gr.addEncodedQuery('valid_to!=empty');
gr.query();
gs.info('certificate query inner loop');
while (gr.next()) {
var validTo = gr.valid_to;
var commonname = gr.sys_id;
var certName = gr.subject_common_name;
var endDate = new GlideDateTime(gr.valid_to);
var nowTime = new GlideDateTime();
gs.info('certificate inner loop');
var duration = GlideDateTime.subtract(nowTime, endDate);
var days = parseInt(duration.getNumericValue() / 86400000);
gs.info('print the days' + days);
var serverIdsArr = [];
var relationdata = new GlideRecord('cmdb_rel_ci');
relationdata.addEncodedQuery("parent.sys_class_name=cmdb_ci_certificate^type=6afd799338a02000c18673032c71b87b");
relationdata.addQuery('parent', commonname);
relationdata.query();
while (relationdata.next()) {
serverIdsArr.push(relationdata.child.toString());
}
gs.info("server ID " + serverIdsArr);
var serverIdsStr = serverIdsArr.join();
var splitIds = serverIdsStr.split(',');
gs.info("server ID join " + serverIdsStr);
if (serverIdsStr) {
for (var i = 0; i < splitIds.length; i++) {
gs.info("Realtionshipinfos3 ------------>" + splitIds[i]);
var app = new GlideRecord('u_m2m_servers_applications');
//app.addQuery("u_server", splitIds[i]);
app.addEncodedQuery('u_server.sys_id=' + splitIds[i]);
app.query();
while (app.next()) {
var certificateList = [];
var applicationSysId = app.u_application.toString();
gs.info('Application sysID' + applicationSysId);
var ownedBy = getOwnedByForApplication(applicationSysId);
var managedByGroup = getManagedByGroupForApplication(applicationSysId);
gs.info('ownedby Value from while -----> ' + ownedBy);
gs.info('managedby Value from while -----> ' + managedByGroup);
if (days == 59) {
//gs.info("excluding today + 3days and result will be 5th day " + validTo);
gs.info("Certificate expires 60 days from today: " + managedByGroup + "owned by - " + ownedBy + "certificate ID -" + commonname);
gs.eventQueue('sn_disco_certmgmt.60days', gr, managedByGroup, ownedBy);
} else if (days == 45) {
gs.info("Certificate expires 45 days from today: " + managedByGroup + "owned by - " + ownedBy + "certificate ID -" + commonname);
gs.eventQueue('sn_disco_certmgmt.45days', gr, managedByGroup, ownedBy);
} else if (days == 30) {
gs.info("Certificate expires 30 days from today: " + managedByGroup + "owned by - " + ownedBy + "certificate ID -" + commonname);
gs.eventQueue('sn_disco_certmgmt.30days', gr, managedByGroup, ownedBy);
} else if (days == 15) {
gs.info("Certificate expires 15 days from today: " + managedByGroup + "owned by - " + ownedBy + "certificate ID -" + commonname);
gs.eventQueue('sn_disco_certmgmt.15days', gr, managedByGroup, ownedBy);
} else if (days == 7) {
gs.info("Certificate expires 7 days from today: " + managedByGroup + "owned by - " + ownedBy + "certificate ID -" + commonname);
gs.eventQueue('sn_disco_certmgmt.7days', gr, managedByGroup, ownedBy);
} else if (days == 1) {
gs.info("Certificate expires 1 days from today: " + managedByGroup + "owned by - " + ownedBy + "certificate ID -" + commonname);
gs.eventQueue('sn_disco_certmgmt.1day', gr, managedByGroup, ownedBy);
}
}
}
}
}
function getOwnedByForApplication(applicationSysId) {
var ownedBy = '';
var applicationGR = new GlideRecord('cmdb_ci_service_discovered');
applicationGR.addQuery('sys_id', applicationSysId);
applicationGR.query();
if (applicationGR.next()) {
ownedBy = applicationGR.owned_by;
gs.info('ownedby Value -----> ' + ownedBy);
}
return ownedBy;
}
function getManagedByGroupForApplication(applicationSysId) {
var managedByGroup = '';
var applicationGR = new GlideRecord('cmdb_ci_service_discovered');
applicationGR.addQuery('sys_id', applicationSysId);
applicationGR.query();
if (applicationGR.next()) {
managedByGroup = applicationGR.u_managed_by_group;
gs.info('managedby Value -----> ' + managedByGroup);
}
return managedByGroup;
}
Thanks.