Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

Dotwalk using script

Kri
Kilo Sage

I want to Dotwalk value in Account table and need to assign that value to a field. Currently the value is not coming 

I tried to map the field like u_account_manager:responseObj[i].account.u_account_manager in the
below script

     
       var requestBody = {};
        var restMessage = new sn_ws.RESTMessageV2();

        restMessage.setAuthenticationProfile('basic', '0d2c8ab61b823d1079bafdd91d4bcb1b'); // sys_auth_profile_basic record
        restMessage.setHttpMethod("get");
        restMessage.setEndpoint(baseURL + "/api/now/table/x_security_case?");
        restMessage.setQueryParameter("sysparm_query", "sys_created_onONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()");
        restMessage.setQueryParameter("sysparm_limit", "100");
        restMessage.setQueryParameter("sysparm_display_value", "true");
        restMessage.setRequestBody(JSON.stringify(requestBody));

        var response = restMessage.execute();
        var responseBody = response.getBody();
        var responseObj = JSON.parse(responseBody).result;

        for (var i = 0, len = responseObj.length; i < len; ++i) {
            v_table.addRow({
                sys_id: responseObj[i].sys_id,
                u_account_manager:responseObj[i].account.u_account_manager
            });
        }
3 REPLIES 3

Sheldon  Swift
ServiceNow Employee

Hi @Kri - Did you try adding a gs.info() to inspect the response object?

for (var i = 0, len = responseObj.length; i < len; ++i) {
    gs.info("Inspecting response object: " + JSON.stringify(responseObj[i])); // Debug the full object

Its returning 'undefined' as a result

Try something like this instead (the goal is to check the full response body, and verify the result property exists and is an array):

var requestBody = {};
var restMessage = new sn_ws.RESTMessageV2();

restMessage.setAuthenticationProfile('basic', '0d2c8ab61b823d1079bafdd91d4bcb1b'); // sys_auth_profile_basic record
restMessage.setHttpMethod("get");
restMessage.setEndpoint(baseURL + "/api/now/table/x_security_case?");
restMessage.setQueryParameter("sysparm_query", "sys_created_onONToday@javascript&colon;gs.beginningOfToday()@javascript&colon;gs.endOfToday()");
restMessage.setQueryParameter("sysparm_limit", "100");
restMessage.setQueryParameter("sysparm_display_value", "true");
restMessage.setRequestBody(JSON.stringify(requestBody));

var response = restMessage.execute();
var responseBody = response.getBody();
gs.info("Response Body: " + responseBody);
gs.info("Response Object: " + JSON.stringify(responseObj));
var responseObj = JSON.parse(responseBody).result;

for (var i = 0, len = responseObj.length; i < len; ++i) {
    if (!responseObj[i]) {
        gs.info("Undefined item at index: " + i);
        continue;
    }
    gs.info("Processing: " + JSON.stringify(responseObj[i]));
    /*
      v_table.addRow({
          sys_id: responseObj[i].sys_id,
          u_account_manager: responseObj[i].account.u_account_manager
      });
    */
}