通过REST API获取在Azure构建管道中运行的所有测试



我试图获得通过Azure REST API从Azure Pipeline构建运行的所有测试的列表。我试图使用这个API调用,但每次都得到一个空列表:

GET https://dev.azure.com/{organization}/{project}/_apis/test/runs?buildUri={buildUri}&$top={$top}&api-version=6.0

我使用BuildID作为buildUri。我应该使用其他东西作为buildUri吗?我只想从一个构建管道中运行顶级测试,而不是从项目中的所有管道。如果我只能从管道的一次运行中获得所有测试就更好了。

目前,我发现解决这个问题的唯一方法是使用上述调用来获得所有运行(它们都没有一个带有数据的Build属性),所以我可以使用该调用的id来进行以下API调用,以获得它是哪个构建,并从那里手动过滤。然而,这是方式更多的API调用和数据下载比我想要的。我想要一个简单的方法来获得所有的测试运行从一个构建id。

GET https://dev.azure.com/{organization}/{project}/_apis/test/runs/{runId}?api-version=6.0

我想要一个简单的方法从构建id获得所有的测试运行。

薛蒙建议:

获取每次测试运行的结果:

GET https://vstmr.dev.azure.com/{Orginazation name}/{Project name}/_apis/testresults/resultsbypipeline?pipelineId={buildID}&%24top=20000?api-version=5.2-preview.1

获取通过的测试总数:

GET https://vstmr.dev.azure.com/{Orginazation name}/{Project name}/_apis/testresults/resultdetailsbybuild?buildId={buildID}&publishContext=CI&groupBy=TestRun&%24filter=Outcome%20eq%20Failed&%24orderby=&shouldIncludeResults=true&queryRunSummaryForInProgress=false?api-version=5.2-preview.1

根据Chubsdad的说法,这似乎正在通过buildID获得测试结果:

GET https://vstmr.dev.azure.com{org}/{proj}/_apis/testresults/resultdetailsbybuild?buildId={id}&groupBy=TestRun

最新更新