Built something you're proud of? Tell the story. A quick G2 review of App Engine or Build Agent helps other developers see what's possible on ServiceNow. Share your experience.

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'
});