We've updated the ServiceNow Community Code of Conduct, adding guidelines around AI usage, professionalism, and content violations. Read more

Help with API response

Ankita9793
Tera Contributor

Hi All,

 

Can someone please help me with the below script, I want to push targetName in an array. 
From API response, I am only able to read count but not targetName or lenght. Please refer below screenshots. (alert('res' + response.count + response.targetName + response.lenght );) 

 

 

function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading || newValue == '') {
        return;
    }

    var group = g_form.getValue('enter_xmatters_group');
    var admin = [];
    alert('group' + group);
    hsbcShowHideLoaderCatalog();

    var getMembers = new GlideAjax('XMattersAPIhelper');
    getMembers.addParam('sysparm_name', 'getSupervisor');
    getMembers.addParam('sysparm_grp', group);
    getMembers.getXMLAnswer(setans);

    function setans(answer) {
        hsbcShowHideLoaderCatalog('hide');
        var ans = JSON.stringify(answer);
        alert('getXMLAnswer' + JSON.stringify(answer) +ans);
       
        response = JSON.parse(answer);
        alert('res' + response.count + response.targetName + response.lenght );

        if (response.count != 0 && response.targetName != '') {
            for (var i = 0; i <= response.lenght; i++) {
                while (response.targetName.next())
                    admin.push(response.targetName);

                alert('Admin' + admin);

                g_form.setValue('list_group_admins', admin);


            }

        }
    }
}

SCRIPT INCLUDE :

var XMattersAPIhelper = Class.create();
XMattersAPIhelper.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    /*_________________________________________________________________
    * Description: Returns group admin
    * Parameters: sysparm_grp [ string ] - group name
    * Returns: region
    ________________________________________________________________*/

    getSupervisor: function() {

        this.REST_MESSAGE = gs.getProperty('hsbc.domino.rest.message'); //Domino API - PreProd
        this.REST_METHOD = "Get supervisors";

        var r = new sn_ws.RESTMessageV2(this.REST_MESSAGE, this.REST_METHOD);
        var params = hsbcGlobalConstants.getApiConstant() || {};
        params.group_name = this.getParameter('sysparm_grp');

        gs.log('xmatters sup1' + JSON.stringify(params));

        for (var p in params) {
            r.setStringParameterNoEscape(p, params[p]);
        }
        //r.setStringParameterNoEscape('getSupervisor', this.getParameter('sysparm_grp'));
        var response = r.execute();

        gs.log('xmatters sup' + JSON.stringify(response));

        var responseObj = hsbcGlobalConstants.canParseJson(response.getBody());

        if (response.getStatusCode() != '200') return false;

        if (!responseObj) return false;

        //return responseObj();

        return response.getBody();

    },


    type: 'XMattersAPIhelper'
});
 
 
Ankita9793_0-1722945768147.pngAnkita9793_1-1722945814458.png

 

2 REPLIES 2

ShubhamGarg
Kilo Sage

Hello @Ankita9793 ,

 

To help you better, Can you also provide the code defined in function - getSupervisor ?

 

Regards,

Shubham

Hi @ShubhamGarg 


Sure, Please find below code.

 

 

var XMattersAPIhelper = Class.create();
XMattersAPIhelper.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    /*_________________________________________________________________
    * Description: Returns group admin
    * Parameters: sysparm_grp [ string ] - group name
    * Returns: region
    ________________________________________________________________*/

    getSupervisor: function() {

        this.REST_MESSAGE = gs.getProperty('hsbc.domino.rest.message'); //Domino API - PreProd
        this.REST_METHOD = "Get supervisors";

        var r = new sn_ws.RESTMessageV2(this.REST_MESSAGE, this.REST_METHOD);
        var params = hsbcGlobalConstants.getApiConstant() || {};
        params.group_name = this.getParameter('sysparm_grp');

        gs.log('xmatters sup1' + JSON.stringify(params));

        for (var p in params) {
            r.setStringParameterNoEscape(p, params[p]);
        }
        //r.setStringParameterNoEscape('getSupervisor', this.getParameter('sysparm_grp'));
        var response = r.execute();

        gs.log('xmatters sup' + JSON.stringify(response));

        var responseObj = hsbcGlobalConstants.canParseJson(response.getBody());

        if (response.getStatusCode() != '200') return false;

        if (!responseObj) return false;

        //return responseObj();

        return response.getBody();

    },


    type: 'XMattersAPIhelper'
});