var gr = new GlideRecord('cmdb_ci_certificate');
gr.addEncodedQuery('valid_to!=empty');
gr.query();
gs.log('certificate query inner loop');
while (gr.next()) {
var validTo = gr.valid_to;
var commonname = gr.sys_id;
var endDate = new GlideDateTime(gr.valid_to);
var nowTime = new GlideDateTime();
gs.log('certificate inner loop');
var duration = GlideDateTime.subtract(nowTime, endDate);
var days = parseInt(duration.getNumericValue() / 86400000);
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.next();
while (relationdata.next()) {
serverIdsArr.push(relationdata.child.toString());
}
var serverIdsStr = serverIdsArr.join();
var splitIds = serverIdsStr.split(',');
if (serverIdsStr) {
for (var i = 0; i < splitIds.length; i++) {
gs.info("Realtionshiplogs3 ------------>" + splitIds[i]);
var app = new GlideRecord('u_m2m_servers_applications');
app.addQuery("u_server", splitIds[i]);
app.query();
var applicationsArr = [];
while (app.next()) {
var applicationSysId = app.u_application.toString();
var ownedBy = getOwnedByForApplication(applicationSysId);
var managedByGroup = getManagedByGroupForApplication(applicationSysId);
applicationsArr.push({
u_application: applicationSysId,
ownedBy: ownedBy,
managedByGroup: managedByGroup
});
}
for (var k = 0; k < applicationsArr.length; k++) {
var applicationObj = applicationsArr[k];
gs.print(" Application Sys ID: " + applicationObj.u_application);
gs.print(" Owned By: " + applicationObj.ownedBy);
gs.print(" Managed By Group: " + applicationObj.managedByGroup);
}
// ***************Able to execute the code till here ****************** //
if (days == 59) {
gs.print("excluding today + 3days and result will be 5th day " + validTo);
gs.eventQueue('sn_disco_certmgmt.60 Days', managedByGroup, ownedBy, applicationsArr);
}
if (days == 45) {
gs.print("Certificate expires 45 days from today: " + validTo);
gs.eventQueue('sn_disco_certmgmt.45 Days', managedByGroup, ownedBy, applicationsArr);
}
if (days == 30) {
gs.print("Certificate expires 30 days from today: " + validTo);
gs.eventQueue('sn_disco_certmgmt.30 Days', managedByGroup, ownedBy, applicationsArr);
}
if (days == 15) {
gs.print("Certificate expires 15 days from today: " + validTo);
gs.eventQueue('sn_disco_certmgmt.15 Days', managedByGroup, ownedBy, applicationsArr);
}
if (days == 7) {
gs.print("Certificate expires 7 days from today: " + validTo);
gs.eventQueue('sn_disco_certmgmt.7 Days', managedByGroup, ownedBy, applicationsArr);
}
if (days == 1) {
gs.print("Certificate expires 1 days from today: " + validTo);
gs.eventQueue('sn_disco_certmgmt.1 Day', managedByGroup, ownedBy, applicationsArr);
}
for (var j = 0; j < applicationsArr.length; j++) {
var ownedBy = applicationsArr[j].ownedBy;
var managedByGroup = applicationsArr[j].managedByGroup;
gs.info('Owned By for Application ' + applicationsArr[j].u_application + ': ' + 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.toString();
}
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.toString();
}
return managedByGroup;
}
Thanks.