0

我已经构建了一个阶段,它在构建结束时发送邮件,并显示它的状态,它运行完美。我想在此邮件中添加一份关于构建中的测试的 html 报告。问题是 .html 文件的名称包括它在每次构建后创建的日期和时间。这是我的邮件发送脚本

    post{
        always{
            echo '------------------------------- SENDING INFORMATIVE MAIL -------------------------------'
            emailext subject: "[Jenkins] ${currentBuild.displayName} : ${currentBuild.currentResult}",
            body: '''${SCRIPT, template="groovy-html.template"}''', mimeType: 'text/html', attachLog: true,
            to: """${RECIPIENTS}"""}
            
            }

这是最后一次测试的文件名: ADU_TEST_REPORT_02_03_2022_09_31.html

每次构建更改的部分是:_02_03_2022_09_31

它在路径中:C:\Jenkins\workspace\Deprtment\Builds\DevOps Builds\Checks\Test_Reports

我试图添加这个

(${FILE,path="C:\Jenkins\workspace\Deprtment\Builds\DevOps Builds\Checks\Test_Reports\ADU_TEST_REPORT*.html"})

到脚本,但它没有工作。我做错了什么?有谁知道如何以正确的方式做到这一点?

- - - - - - - - - - - - - - - - - - 更新 - - - - - - -------------------------------------------

我编写了一个 python 脚本,将最新文件名的名称(带有正确的日期和时间)写入 .txt 文件,然后我在管道中使用 groovy 读取了该 txt。但是当我将此字符串添加到文件路径时,它会向我发送一封包含错误的电子邮件:

错误:文件“C:JenkinsworkspaceDeprtmentBuildsDevOps BuildsChecksTest_Reports${testReportName}”不存在

我究竟做错了什么?这是我的代码:

    post{
    always{
        script{
            echo '------------------------------- RUN PYTHON SCRIPT THAT FINDS TEST REPORT NAME -------------------------------'
            bat """${python_27} "C:\\Users\\dp1234\\Desktop\\TestReportName.py" """
            echo '------------------------------- PYTHON SCRIPT EXECUTED - TEST REPORT NAME SAVED IN .txt -------------------------------'
            echo '------------------------------- RECEIVE TEST REPORT NAME -------------------------------'
            def testReportName = readFile "C:\\Users\\dp1234\\Desktop\\testReports.txt"
            echo """${testReportName}"""
            echo '------------------------------- TEST REPORT NAME SAVED -------------------------------'
            echo '------------------------------- SENDING INFORMATIVE MAIL -------------------------------'
            emailext subject: "[Jenkins] ${currentBuild.displayName} : ${currentBuild.currentResult}",
            body: '''${SCRIPT, template="groovy-html.template"}''', mimeType: 'text/html', attachLog: true,
            //body:  '''${FILE, path="C:\\Jenkins\\workspace\\Deprtment\\Builds\\DevOps Builds\\Checks\\Test_Reports\\${testReportName}"}''', mimeType: 'text/html', attachLog: true,
            to: """${RECIPIENTS}"""}
    }
}
4

0 回答 0