Notification not working in scoped application
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-08-2024 07:02 AM
HI,
I created a scheduled job in scoped application which based on the expire date email will be sending in advance for alert.
the day calculation i havent shared here, but i am able see the logs but notification is not getting triggered. For
example : i can post the logs which received for 1 day record.
Certificate expires 1 days from today: Facility Management Appl - L2owned by - Christoffer A.
*** Script: Certificate expires 1 days from today: Facility Management Appl - L2owned by - Christoffer A.
Evaluator: com.glide.script.RhinoEcmaError: "applicationGR" is not defined. script : Line(80) column(0) 77: if (days == 1) { 78: 79: gs.info("Certificate expires 1 days from today: " + managedByGroup + "owned by - " + ownedBy); ==> 80: gs.eventQueue('sn_disco_certmgmt.1day',applicationGR , managedByGroup, ownedBy); 81: } 82:
*********************************************************************************************************************
gs.eventQueue('sn_disco_certmgmt.1day','', managedByGroup, ownedBy);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-08-2024 08:32 AM - edited 02-08-2024 08:33 AM
Hi @AnandKumar1, as gs.eventQueue() methods expects object instance in it. I have updated the code to with null ('') value in the eventQueue methods. Can you give a try?
var gr = new GlideRecord('cmdb_ci_certificate');
gr.addEncodedQuery('sys_id', '151477f31bd679542fc2da42b24bcbba');
gr.query();
gs.info('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.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(',');
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();
//var applicationsArr = [];
while (app.next()) {
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.eventQueue('sn_disco_certmgmt.60days', null, managedByGroup, ownedBy);
gs.info('sn_disco_certmgmt.60 Days', +managedByGroup + ownedBy);
}
if (days == 45) {
gs.info("Certificate expires 45 days from today: " + validTo);
gs.eventQueue('sn_disco_certmgmt.45days', null, managedByGroup, ownedBy);
}
if (days == 30) {
gs.info("Certificate expires 30 days from today: " + validTo);
gs.eventQueue('sn_disco_certmgmt.30days', null, managedByGroup, ownedBy);
}
if (days == 15) {
gs.info("Certificate expires 15 days from today: " + validTo);
gs.eventQueue('sn_disco_certmgmt.15days',null, managedByGroup, ownedBy);
}
if (days == 7) {
gs.info("Certificate expires 7 days from today: " + validTo);
gs.eventQueue('sn_disco_certmgmt.7days',null, managedByGroup, ownedBy);
}
if (days == 1) {
gs.info("Certificate expires 1 days from today: " + managedByGroup + "owned by - " + ownedBy);
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.name;
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.name;
gs.info('managedby Value -----> ' + managedByGroup);
}
return managedByGroup;
}
Regards,
Sunil
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-11-2024 03:15 AM
HI Sunil,
Thank you for the email. I have tried this with glide option and its working.. Earlier too this was working the reason the parameter was not coming is i was using (u_managed_by_group.name) instead i should have passed the sys_id... Now tried without DOT WALKING and its working now.
f (applicationGR.next()) {
managedByGroup = applicationGR.u_managed_by_group.name;
gs.info('managedby Value -----> ' + managedByGroup);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-11-2024 06:20 PM