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