Skip to main content

ServiceNow Building a JSON array (using ServiceNow AI - Now Assist for Code)

ServiceNow Building a JSON array (using ServiceNow AI - Now Assist for Code)

Below was mostly generated using Now Assist. The future is bright! 

 

retrieveAPMs: function(bDelta) {

        var APMs = [];

        var responseObj = {

            transaction_name: this.CONSTANTS.APM_FULL_IMPORT,

            total_apms: '',

            apm_list: []

        };

 

        var grAPM = new GlideRecord('cmdb_ci_business_app');

        grAPM.addEncodedQuery(this.apmquery + this.apmAdditionalquery);

        if (bDelta) {

            grAPM.addEncodedQuery(this.apmdeltaquery);

            responseObj.transaction_name = this.CONSTANTS.APM_DELTA_IMPORT;

        }

        grAPM.query();

        responseObj.total_apms = grAPM.getRowCount();

        while (grAPM.next()) {

            var APMobj = {

                apm_name: grAPM.getValue('name'),

                apm_number: grAPM.getValue('number'),

                apm_business_owner_euid: grAPM.owned_by.u_euid + '',

                apm_business_owner_email: grAPM.owned_by.email + '',

                apm_it_application_owner_euid: grAPM.it_application_owner.u_euid + '',

                apm_it_application_owner_email: grAPM.it_application_owner.email + '',

                apm_approval_group: grAPM.getValue('u_approval_group'),

                apm_tech_lead_euid: grAPM.u_tech_lead.u_euid + '',

                apm_tech_lead_email: grAPM.u_tech_lead.email + '',

                application_services: []

            };

            var grCIrel = new GlideRecord('cmdb_rel_ci');

            grCIrel.addEncodedQuery(this.appservicequery);

            grCIrel.addQuery('parent', grAPM.sys_id);

            grCIrel.query();

            while (grCIrel.next()) {

                var grAppService = new GlideRecord('cmdb_ci_service');

                grAppService.addQuery('sys_id', grCIrel.child);

                grAppService.query();

                if (grAppService.next()) {

                    //gs.print('federated app service');

                    APMobj.application_services.push({

                        app_services_name: grAppService.getValue('name'),

                        app_services_tech_lead_euid: grAppService.u_tech_lead.u_euid + '',

                        app_services_tech_lead_email: grAppService.u_tech_lead.email + '',

                        app_services_environment: grAppService.getValue('environment')

                    });

                }

            }

            responseObj.apm_list.push(APMobj);

            //APMs.push(APMobj);

        }

        APMs.push(responseObj);

        return (APMs);

    },

 

Comments

Popular posts from this blog

ServiceNow check for null or nil or empty (or not)

Haven't tested these all recently within global/local scopes, so feel free to have a play! option 1 use an encoded query embedded in the GlideRecord , e.g.  var grProf = new GlideRecord ( 'x_cls_clear_skye_i_profile' ); grProf . addQuery ( 'status=1^ owner=NULL ' ); grProf . query (); even better use the glideRecord  addNotNullQuery or addNullQuery option 2 JSUtil.nil / notNil (this might be the most powerful. See this link ) example: if ( current . operation () == 'insert' && JSUtil . notNil ( current . parent ) && ! current . work_effort . nil ())  option 3 there might be times when you need to get inside the GlideRecord and perform the check there, for example if the code goes down 2 optional routes depending on null / not null can use gs.nil : var grAppr = new GlideRecord ( 'sysapproval_approver' ); var grUser = new GlideRecord ( 'sys_user' ); if ( grUser . get ( 'sys_id' , current . approver )){...

Code a pause/wait - gs.sleep or gs.wait alternative, pause script for specified seconds (timer)

Code a pause/wait - gs.sleep / gs.wait alternative, pause script for specified seconds (timer)  e.g. 10 seconds: do_sleep ( 10000 ); function do_sleep ( milliseconds ) { var start = new Date (). getTime (); for ( var i = 0 ; i < 1e7 ; i ++) { if (( new Date (). getTime () - start ) > milliseconds ){ gs . print ( 'waking up!' ); break ; } } }