【问题标题】:Azure DevOps - send email notification after test results have been publishedAzure DevOps - 在测试结果发布后发送电子邮件通知
【发布时间】:2021-02-14 04:57:58
【问题描述】:

我们有一个每晚安排的管道,用于运行测试并将结果发布到测试运行。我们可以看到测试运行的 url,因为它是由 PublishTestResults@2 任务生成的。我想通过向一组用户发送测试运行的 devops 链接来扩展此功能。

这是发布任务当前的外观:

steps:
  # Publish test results (to show the test details in JUnit format)
  - task: PublishTestResults@2
    displayName: 'Publish test results'
    inputs:
      testResultsFormat: 'JUnit'
      testResultsFiles: '*.xml'
      searchFolder: '$(Build.SourcesDirectory)/cypress/reports/junit'
      mergeTestResults: true
      testRunTitle: 'Publish Test Results'
    condition: succeededOrFailed()
    continueOnError: true

有没有推荐的方法来做到这一点?

【问题讨论】:

  • 您查看过通知吗?如果您不需要超级精细的配置选项,这可能是一种简单的方法,例如,您可以在某些构建完成时发送电子邮件:docs.microsoft.com/en-us/azure/devops/notifications/…
  • 嗨@danielorn,是的,我查看了通知,但我不知道如何捕获测试运行的 url。对我来说,在这个过程中使用通知有点“迟到”,这就是为什么我考虑在管道中增加一个步骤。我会阅读你发给我的链接,你永远不知道,也许我可以在那里找到有用的东西 - 谢谢。
  • 好的,我明白了,由于需要发送指向测试 URL 的链接,通知可能不会切断它,您将获得的通常是管道运行本身的链接。要完全控制,最好在结束电子邮件的管道中添加一个任务。
  • @dubs 这张票有更新吗?如果答案可以解决这个问题,您可以考虑接受它作为答案。

标签: azure-devops azure-devops-pipelines


【解决方案1】:

选项 1:通知

如果你只需要一个链接到管道运行本身,你可以配置一个notification

选项 2:电子邮件报告扩展

如果您希望获得比通知更多的控制权,请提供来自 Microsoft DevLabs 的 Email Report Extension 生成(可自定义的)报告发送到收件人列表,其中包含:

  • 总体测试摘要:此信息反映了管道中的测试选项卡。
  • 测试运行摘要:有关各个测试运行的信息发生在 管道(如果有)。
  • 测试失败:显示测试失败及其堆栈跟踪(可配置 在任务输入中)和相关的工作项。
  • 提交/变更集信息
  • 阶段/环境信息
  • 任务信息:在管道中运行的任务 - 名称、持续时间 以及失败时的任何错误日志。

您需要为发送电子邮件的 smtp 服务器提供凭据

选项 3:其他扩展

Azure DevOps 有 a number of 3rd party email sending extensions

选项 4:自定义脚本

当然也可以选择创建一个 bash/powershell 脚本来发送邮件,这里是一个简单的 Powershell 示例:How to send email with PowerShell

【讨论】:

    猜你喜欢
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    相关资源
    最近更新 更多