Azure DevOps - 测试结果发布后发送电子邮件通知

dub*_*ubs 3 azure-devops azure-devops-pipelines

我们有一个每晚计划的管道来运行测试并将结果发布到测试运行。我们可以看到测试运行的 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
Run Code Online (Sandbox Code Playgroud)

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

dan*_*orn 10

选项 1:通知

如果您只需要管道运行本身的链接,则可以配置通知

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

如果您想要比通知更多的控制功能, Microsoft DevLabs 的电子邮件报告扩展会生成(可自定义的)报告,发送到收件人列表,其中包含:

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

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

选项 3:其他扩展

许多适用于 Azure DevOps 的第 3 方电子邮件发送扩展,

选项 4:自定义脚本

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