Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

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