Notification not working in scoped application

AnandKumar1
Tera Expert

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:

 

 

*********************************************************************************************************************

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.addEncodedQuery('u_server.sys_id=' + splitIds[i]);
            app.query();
    

            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 == 15) {

                    gs.info("Certificate expires 15days from today: " + managedByGroup + "owned by - " + ownedBy);
                    gs.eventQueue('sn_disco_certmgmt.15days', managedByGroup, ownedBy);
                }
                if (days == 7) {

                    gs.info("Certificate expires 7days from today: " + managedByGroup + "owned by - " + ownedBy);
                    gs.eventQueue('sn_disco_certmgmt.7dDays', managedByGroup, ownedBy);
                }
                if (days == 1) {

      gs.info("Certificate expires 1 days from today: " + managedByGroup + "owned by - " + ownedBy);
     gs.eventQueue('sn_disco_certmgmt.1day','', 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;
}
*********************************************************************************************************************
Thanks.
7 REPLIES 7

Sandeep Rajput
Tera Patron
Tera Patron

@AnandKumar1 From the error it appears that the applicationGR object you are passing on line number 80 

is not defined. Please check your code at line number 80 and see if the applicationGR object is defined correctly.

==>  80:                     gs.eventQueue('sn_disco_certmgmt.1day',applicationGR , managedByGroup, ownedBy);

 

Hi Sandeep,

Thanks for your response. applicationGR i am using to glide cmdb_ci_service_discovered to get the value of ownedby and group. 

And i am storing the values back to the variables

  var ownedBy = getOwnedByForApplication(applicationSysId);
  var managedByGroup = getManagedByGroupForApplication(applicationSysId)
 
So here, i am not getting what glide parameter to use.
 
Thanks,

 

 

SunilKumar_P
Giga Sage

Hi @AnandKumar1, Have you declared the commonname (line 4) variable anywhere in your script?

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

 

Regards,

Sunil

Hi Sunil,

Thanks for your post.

 

yes i have declared. In the post i have only updated the limited script. Below i have posted my complete scheduled job script.  I have declared it in Line No 7.

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', 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', managedByGroup, ownedBy);
 
                }
                if (days == 30) {
 
                    gs.info("Certificate expires 30 days from today: " + validTo);
                    gs.eventQueue('sn_disco_certmgmt.30days', managedByGroup, ownedBy);
 
                }
                if (days == 15) {
 
                    gs.info("Certificate expires 15 days from today: " + validTo);
                    gs.eventQueue('sn_disco_certmgmt.15days', managedByGroup, ownedBy);
                }
                if (days == 7) {
 
                    gs.info("Certificate expires 7 days from today: " + validTo);
                    gs.eventQueue('sn_disco_certmgmt.7days', 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;
}