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

如何在Jenkins测试运行后将构建工作区内容作为邮件附件发送

问题解决:Jenkins邮件无法附加工作区文件

你的问题出在attachmentsPattern的路径写法错误,导致无法匹配到工作区中的zip文件。

错误原因

${WORKSPACE}是Jenkins提供的工作区绝对路径,而emailext的attachmentsPattern参数默认是相对于当前工作区的路径匹配模式。你写的**/${WORKSPACE}/*.zip相当于在工作区目录下,再去寻找名为${WORKSPACE}的子目录里的zip文件,这显然和实际文件位置不符,自然匹配不到任何文件。

修复方案

根据你的需求,调整attachmentsPattern的写法:

  • 如果要附加工作区内所有zip文件,直接使用:
    attachmentsPattern: "**/*.zip"
    
  • 如果只需要附加工作区内某个特定目录(比如test-reports)下的zip文件,使用:
    attachmentsPattern: "test-reports/**/*.zip"
    

额外验证步骤(可选)

如果还是无法匹配,可以先在流水线中添加步骤,确认文件位置和权限:

stage('Verify Files') {
    steps {
        sh "ls -la ${WORKSPACE}" // 查看工作区文件列表
        sh "find ${WORKSPACE} -name '*.zip'" // 查找所有zip文件的绝对路径
    }
}

修复后的完整代码片段

stage('Send Test Report') {
    steps {
        script {
            def testEmailGroup = "saba@abc.com"
            emailext(
                subject: "STARTED: JOB '${env.JOB_NAME} [${env.BUILD_NUMBER}]' RESULT: ${currentBuild.currentResult}",
                attachLog: true,
                attachmentsPattern: "**/*.zip", // 修正后的路径
                compressLog: true,
                body: "Check console output at ${env.BUILD_URL}",
                to: testEmailGroup
            )
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 01:15:51