Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Dynamic Json payload construction

rambo1
Tera Guru

Hi, 

I am integrating Servicenow instance with other tool. 
the payload which I have to send from Servicenow to other tool can be fetched by a rest call and I am storing this in a rest message and giving some inputs to some variables by setstringparameter in business rule.

so only once I am fetching the payload through background script and storing the payload in rest message and using this when ever user wants to raise a ticket in other tool , by modifying the values in that payload based on users input and sending it to other tool via rest .

but now tool configuration has changed , they payload which I stored in rest message will no more work as there are some changes in tool. So , client requested to pull payload every time or for every day and then store it in rest message and use it , but this cannot be done manually . So how do it modify json content ? For now I am using setstringparameter, and ${} in payload,... but if payload is pulled everyday , it’s difficult to replace this.

1 REPLY 1

Tanaji Patil
Tera Guru

In that case I would say dont user REST message but directly initiate a REST call in your script.

You can do that like this-

var sm = new sn_ws.RESTMessageV2();
sm.setEndpoint("http://web.service.endpoint");

For more information check documents-
https://developer.servicenow.com/dev.do#!/reference/api/orlando/server/r_RESTMessageV2_setEndpoint_S...

So in your script first you will fetch the payload (I assume its JSON), convert it to JSON object, add user inputs in the JSON, and set it request body.

 

-Tanaji

Please mark response correct/helpful if applicable