Forum Discussion
Please see json response below.
{
"summary": [{
"id": "26590924327313990",
"name": "Summary-1",
"state": "ACTIVE",
"runTimestamp": 1473138585467,
"scheduledTimestamp": 1473138585507,
"createdTimestamp": 1473138585507,
"test": [{
"id": "15473842955298105",
"name": "test-1",
"createdTimestamp": 1473138585467,
"runTimestamp": 1473138585467,
"status": {
"Pass": 10,
"Fail": 20
}
}]
},
{
"id": "30493603067815445",
"name": "Summary-2",
"state": "ACTIVE",
"runTimestamp": 1473138254517,
"scheduledTimestamp": 1473138254520,
"createdTimestamp": 1473138254520,
"test": [{
"id": "6780837264054677",
"name": "Test -2 ",
"createdTimestamp": 1473138254517,
"runTimestamp": 1473138254517,
"status": {
"Pass": 1,
"Fail": 2
}
}]
}]
}
I need to extract all ids of summary.test.id
i checked with summary.test still not able to get values. its returning zero rows.
- nmrao9 years agoCommunity Hero
Here is the groovy script:
import groovy.json.JsonSlurper def response = '''{ "summary":[ { "id":"26590924327313990", "name":"Summary-1", "state":"ACTIVE", "runTimestamp":1473138585467, "scheduledTimestamp":1473138585507, "createdTimestamp":1473138585507, "test":[ { "id":"15473842955298105", "name":"test-1", "createdTimestamp":1473138585467, "runTimestamp":1473138585467, "status":{ "Pass":10, "Fail":20 } } ] }, { "id":"30493603067815445", "name":"Summary-2", "state":"ACTIVE", "runTimestamp":1473138254517, "scheduledTimestamp":1473138254520, "createdTimestamp":1473138254520, "test":[ { "id":"6780837264054677", "name":"Test -2 ", "createdTimestamp":1473138254517, "runTimestamp":1473138254517, "status":{ "Pass":1, "Fail":2 } } ] } ] }''' def summary = new JsonSlurper().parseText(response).summary def expectedIds = [15473842955298105, 6780837264054677] def actualIds = [] summary.each { summaryItem -> summaryItem.test.each { testItem -> actualIds << testItem.id } } log.info actualIds assert actualIds.sort() == expectedIds.sort(), "Test Ids are not matching"
- sumeetb9 years agoOccasional Contributor
I wanted to use those extracted ids into another REST request by adding datasource loop. That's why wanted to generate those in data source and use them in another REST request.
I am not sure how i can set data source rows with extracted ids using groovy script of data source. Could you please help?
- nmrao9 years agoCommunity Hero
Can't you use data source of groovy type?
- nmrao9 years agoCommunity Hero
The problem is that test is not direct child of summary, it is part of array. and similarly id is also not direct child. So, you could not get them by using summary.test.id