You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure DevOps发布流水线中通过邮件发送TestResults_runId.zip构件

解决方案

定位动态ID的测试结果压缩包

你不需要硬编码自动生成的runId,直接通过PowerShell通配符匹配规则+Azure DevOps内置预定义目录变量即可找到对应压缩包,示例代码如下:

# 递归遍历工作目录,匹配名称符合TestResults_*.zip规则的压缩包
$zipFile = Get-ChildItem -Path $(System.DefaultWorkingDirectory) -Filter "TestResults_*.zip" -Recurse | Select-Object -First 1

# 校验文件是否存在
if (-not $zipFile.Exists) {
    Write-Error "未找到测试结果压缩包,任务终止"
    exit 1
}
$Attachment = $zipFile.FullName

发送邮件时传入附件参数

如果你使用Send-MailMessage cmdlet发送邮件,直接将上面获取到的$Attachment传入对应参数即可,示例如下:

# 示例发送邮件代码,根据你的实际配置调整参数
$mailParams = @{
    From = "devops@yourdomain.com"
    To = "receiver@yourdomain.com"
    Subject = "Cypress测试执行结果"
    Body = "本次Cypress测试执行完成,详细结果见附件压缩包"
    SmtpServer = "你的SMTP服务器地址"
    Attachments = $Attachment
}
Send-MailMessage @mailParams

注意事项

  • 如果你自定义过「发布测试结果」任务的输出目录,需要把代码中的$(System.DefaultWorkingDirectory)替换为你指定的输出目录路径
  • 调试阶段可以在PowerShell任务前增加一个命令行任务,执行dir $(System.DefaultWorkingDirectory) /s打印所有文件路径,确认压缩包的实际存储位置
  • 如果你使用的是Azure DevOps第三方邮件发送扩展,不需要额外写PowerShell代码,直接在扩展的附件配置栏填写通配符**/TestResults_*.zip即可自动匹配对应压缩包

内容的提问来源于stack exchange,提问作者DKulchykovskyi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 00:18:02