【问题标题】:How to use API request Result-Get in Azure automated pipeline?如何在 Azure 自动化管道中使用 API 请求 Result-Get?
【发布时间】:2019-11-25 09:30:12
【问题描述】:

我正在尝试发送有关 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 的最佳方式?

【问题讨论】:

  • 嗨 SruthiChedath,只是检查一下提供的信息是否有帮助。如果我的回复有帮助或给出了正确的方向。感谢您将其标记为答案,这也将帮助社区中的其他人。
  • @PatrickLu-MSFT 抱歉,我没有时间检查它。感谢您的回复,当我当前的任务完成后,我会检查该解决方案。谢谢你:)

标签: azure azure-devops azure-pipelines azure-rest-api


【解决方案1】:

您正在尝试使用this Rest API 获取测试运行的测试结果。 runIdtestCaseResultId 参数都是必需的。

但是,您尝试在构建/发布管道期间获取它。此 API 不适用于您的情况。由于构建仍在运行未完成。所以你需要通过构建/发布任务日志获取它

Releases - Get Task Log

我们曾经使用以下 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

与构建类似 --Timeline - Get

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-22
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    相关资源
    最近更新 更多