The CreatorCon Call for Content is officially open! Get started here.

How to set reference variables in Catalog API posts

mtuman
Giga Contributor
I'm currently working with the ServiceNow Catalog Rest API in Java. I have successfully added items to my cart and submitted my cart, however whenever a variable in the body of my post is of type reference I am unable to set it's value. The ticket that gets created is just empty in these fields. Below is a small example of my code.
 
     
   HttpPost post = new HttpPost();


post.setURI(new URI("https://myinstance/api/sn_sc/servicecatalog/items/" + itemId + "/add_to_cart")); String encoding = Base64.getEncoder().encodeToString(("User:Password").getBytes("UTF- 8")); String authHeader = "Basic " + encoding; post.setHeader(HttpHeaders.AUTHORIZATION, authHeader); post.setHeader("Content-Type", "application/json"); /*WorkgroupAssignment is of type reference and never gets set.While short_description' always gets set.*/ String data = "{'sysparm_quantity': 1,'variables': {'short_description': 'Example description','WorkgroupAssignment':'TSU-Middleware'}; StringEntity entity = new StringEntity(data); /** * ******************* * and now the body.. * ******************* */ post.setEntity(entity);

WorkgroupAssignment is of type reference. Is there something special I have to do to set variables of type reference?

Thanks

12 REPLIES 12

The only issue i see here is you are missing closing brace } in the body

 

Here is the format

{
'sysparm_quantity': 1,
'variables': {
'short_description': 'Test description',
'WorkgroupAssignment':'89e10e5d1f654ec9a627bbef202af78c'
}
}

mtuman
Giga Contributor

Sorry...in my actual code I have that closing brace. I guess when I copied and pasted I left it out

 

and is '89e10e5d1f654ec9a627bbef202af78c' sys_id from groups table?

and does the integration user has access to the particular group record?