我正在尝试发送有关Azure管道构建中的测试失败的详细电子邮件通知。我正在此线程中遵循建议:How to send a detailed email to specific developer from Azure DevOps on failure of unit tests from a Build pipeline? 我看到了以下示例请求
GET https://dev.azure.com/{organization}/{project}/_apis/test/Runs/{runId}/results/{testCaseResultId}?api-version=5.0
如何获取'runId'和'testCaseResultId'的值?我的管道中是否可以使用任何环境变量来自动替换其值?
有人可以建议我使用Result-Get的最佳方法吗?
答案 0 :(得分:1)
您正在尝试使用this Rest API获得测试运行的测试结果。 runId
和testCaseResultId
参数都是必需的。
但是,您正在尝试在构建/发布管道中获取它。此API不适用于您的情况。由于构建仍在运行,因此未完成。因此,您需要通过构建/发布任务日志获取它。
我们曾经使用以下API为该版本获取测试结果,
GET https://{instance}/{project}/_apis/ResultDetailsByRelease?releaseId={RELEASE.RELEASEID}&releaseEnvId={RELEASE.ENVIRONMENTURID}
测试结果包括testRun ID或仅通过使用过滤器获得失败的测试,
GET https://{instance}/{project}/_apis/ResultDetailsByRelease?releaseId={RELEASE.RELEASEID}&releaseEnvId=RELEASE.ENVIRONMENTURID}&%24filter=Outcome+eq+Failed
类似于build-Timeline - Get