How to parse a json array response in script Runner

serge calderara
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 20, 2020

Dear all,

From script runner script we are using MS Graph APi to get information from particular user mentionned in an issue.

For that we call an API endpoint using HttpBuilder and from the response json we get the follwing output :

{
 @odata.context=https://graph.microsoft.com/v1.0/$metadata#users, 
 value=[{         businessPhones=[], 
         displayName=Serge Cal GMAIL, 
         givenName=null, 
         jobTitle=null, 
         mail=user1.tom@gmail.com, 
         mobilePhone=null, 
         officeLocation=null, 
         preferredLanguage=null, 
         surname=null,         userPrincipalName=user1.tom_gmail.com#EXT#@SCALDERARA.onmicrosoft.com,          id=253bca1d-6c03-441f-92e4-e206c7d180f7
       }]
}

The method sample I use is as below :

def http = new HTTPBuilder('https://graph.microsoft.com/v1.0/users?')
http.request(GET) {

requestContentType = ContentType.JSON
uri.query = [ $filter:"mail eq '$userEmail'".toString() ]

headers.'Authorization' = "Bearer " + AuthToken

response.success = { resp, json ->
_userId=json["value"]["id"]  <<<= Do not work !!!!!

}

How can I access the value of value[0].Id member from the response delegate ?

Thanks for help

regards

 

 

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
0 votes
Answer accepted
Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 23, 2020

I was able to find what seems to be the reference for that API

https://docs.microsoft.com/en-us/graph/api/resources/user?view=graph-rest-1.0#json-representation

So I think either of the following 2 notations will work:

_userId = json.id 
_userId = json['id']
TAGS
AUG Leaders

Atlassian Community Events