set variable in http query parameters dynamically
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-18-2023 09:52 PM
hii
in rest message http query parameters if we pass name=enclave_name ,value = asia.. they are sending enclave related filed data in response ..similarly we have enclave _name variable on catalog item (enclave names list already available on catalog item) if user selects any name in enclave _name we need to call that HTTP query parameter and show enclave related data response on the catalog item variable_(u_comment) iam using this client and script include but its not working can anyone check this
client script::
var ga = new GlideAjax('GetEnclaveData');
ga.addParam('sysparm_name', 'getData');
ga.addParam('sysparm_enclave',g_form.getValue('enclave_name'));
ga.getXMLAnswer(getResponse);
function getResponse(answer) {
g_form.setValue('u_comment',answer);
g_form.setValue('enclave_administration_group',answer);
script include:;
var GetEnclaveData = Class.create();
GetEnclaveData.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getData:function(){
gs.log('indise SI','sh1');
var queryParam = this.getParameter('sysparm_enclave');
var restMessage = new sn_ws.RESTMessageV2('network Access', 'GET Enclave Data By Enclave Name');
restMessage.setStringParameterNoEscape('enclave_name', queryParam);
restMessage.setEndpoint(' https://connectivity-api/industrial-networks/networks/');
restMessage.setHttpMethod('GET');
restMessage.addQueryParameter('enclave_name', queryParam);
var response = restMessage.execute();
gs.log("check enclave response code"+response.getStatusCode(),'sh1');
var responseBody = response.getBody();
gs.log("check enclave response 1"+responseBody,'sh1');
var httpStatus = response.getStatusCode();
if (httpStatus == 200) {
return (responseBody);
},
type: 'GetEnclaveData'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-18-2023 10:06 PM
is it not working with addQueryParameter() ?
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-18-2023 11:19 PM
yes it is not working..kindly help how to achieve this
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-18-2023 11:50 PM
try to add those in HTTP query parameter and use variable substitution
How to pass Query parameter dynamically in REST API method
How to set Http Query parameter in Rest message?
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-19-2023 02:18 AM
i tried this enclave_name is my query parameter name and ${enclave_name} is my varibale name ..but its not working
client script ;
var ga = new GlideAjax('GetEnclaveData');
ga.addParam('sysparm_name', 'getData');
ga.addParam('sysparm_enclave',g_form.getValue('enclave_name'));
ga.getXMLAnswer(getResponse);
function getResponse(answer) {
g_form.setValue('u_comment',answer);
g_form.setValue('enclave_administration_group',answer);
script include;
var GetEnclaveData = Class.create();
GetEnclaveData.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getData:function(){
gs.log('indise SI','sh1');
var queryParam = this.getParameter('sysparm_enclave');
var restMessage = new sn_ws.RESTMessageV2('network Access', 'GET Enclave Data By Enclave Name');
restMessage.setStringParameterNoEscape('enclave_name', queryParam);
restMessage.setEndpoint(' https://connectivity-api/industrial-networks/networks/');
restMessage.setHttpMethod('GET');
restMessage.addQueryParameter('enclave_name', queryParam);
var response = restMessage.execute();
gs.log("check enclave response code"+response.getStatusCode(),'sh1');
var responseBody = response.getBody();
gs.log("check enclave response 1"+responseBody,'sh1');
var httpStatus = response.getStatusCode();
if (httpStatus == 200) {
return (responseBody);
},
type: 'GetEnclaveData'
});