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.
- nmrao8 years agoChampion Level 3
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"
- sumeetb8 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?
- nmrao8 years agoChampion Level 3
Can't you use data source of groovy type?
- nmrao8 years agoChampion Level 3
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