RITM Rest API Integration
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-25-2017 10:20 AM
Hi Guys,
I am doing RITM integration servicenow to servicenow using REST API.
I have created REST Outbound POST method.
content = {"number":"${number}","comments":"${comments}","request_item":"${request_item}"}
am setting the values for the above variables.
for the variable 'request_item' - i want to create a custom payload, where i want to sent the list of all RITM's created for the request with variables for each RITM.
Sample payload.
"request_item": [
{ "number":"RITM1312312", "variables":[ { "name":"BMW", "value":"testing" },{ "name":"BMW1", "value":"testing" } ] },
{ "number":"RITM123123", "variables":[ { "name":"BMW", "value":"testing" },{ "name":"BMW1", "value":"testing" } ] }
]
So that, at the other instance i can print the length of 'request_item' ,which gives me 2 and use for loop and set all variable names with corresponding values.
Please help me like how to set value to the variable (request_item) in the above format and how to fetch the values for the same variable in other system.
var r = new sn_ws.RESTMessageV2('RITMIntegration', 'POST');
r.setStringParameterNoEscape ('number', current.number);
r.setStringParameterNoEscape ('comments', current.comments);
Appreciate your inputs.
Thanks,
Rekha
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-25-2017 10:29 AM
You may need to work out with JSON array
var vars = [];
var json_1 = { "name":"BMW", "value":"testing" };
var json_2 ={ "name":"BMW1", "value":"testing" };
vars.push(json_1);
vars.push(json_2);
r.setStringParameterNoEscape ('variables', vars);
Thank You
Please Hit Like, Helpful or Correct depending on the impact of response
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-25-2017 10:55 AM
If i want to pass the values dynamically ?
like below.
var json_1 = { "number:"+curent.number+", comments:"+current.comments };
if i give above code, than its showing me error (missing :)
Thanks,
Rekha
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-25-2017 11:03 AM
Here is some dynamic code, you need to determine the total number of items
var vars = [];
for(var i=0 ; i< arr.length; i++){
var json = { "name": arr[i], "value": arr[i] };
vars.push(json);
}
r.setStringParameterNoEscape ('variables', vars);
Thank You
Please Hit Like, Helpful or Correct depending on the impact of response
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-25-2017 11:25 AM
If i want to the fetch the values for the variable at other system.
var requestBody = request.body;
var requestData = requestBody.data;
gs.log(requestData.variables.length);
i need to get 2 since am sending 2 RITMS, but here am getting like total length of the string like around 35.
gs.log(requestData.variables[0].name)
getting undefined.