首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkinsfile中的NoSuchFileException

Jenkinsfile中的NoSuchFileException
EN

Stack Overflow用户
提问于 2020-07-03 07:56:34
回答 1查看 1.5K关注 0票数 1

我的JenkinsFile有问题。当我从同一个目录加载groovy脚本时,我得到以下消息:

/u01/jenkins_slave/workspace/SPAC_SPAC_BUILD_POLIGON-1727/build/notificationManager.groovy:

java.nio.file.NoSuchFileException

我尝试将路径更改为绝对路径" path () +/build/NoficationManager.groovy“,或者只更改像"notificationManager.groovy”或“build/NoficationManager.groovy”这样的文件路径。但在所有这些情况下我都有同样的问题

我的代码是:

代码语言:javascript
复制
def runner = load "build/notificationManager.groovy"
runner.notifyEmail("FAILURE", ${DEVELOPERS})

Groovy函数

代码语言:javascript
复制
def notifyEmail(buildStatus, emailRecipients) {

    try {

        def icon = "✅"
        def statusSuccess = true
        def hasArtifacts = true

        if(buildStatus != "SUCCESSFUL") {
            icon = "❌"
            statusSuccess = false
            hasArtifacts = false
        }

        def body = emailTemplate([
            "jenkinsText"   :   env.JOB_NAME,
            "jenkinsUrl"    :   env.BUILD_URL,
            "statusSuccess" :   statusSuccess,
            "hasArtifacts"  :   hasArtifacts,
            "downloadUrl"   :   "www.downloadurl.com"
        ]);

        mail (to: emailRecipients.join(","),
            subject: "${icon} [ ${env.JOB_NAME} ] [${env.BUILD_NUMBER}] - ${buildStatus} ",
            body: body,
            mimeType: 'text/html'
        );

    } catch (e){
        println "ERROR SENDING EMAIL ${e}"
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-03 12:00:19

当您将groovy脚本加载到管道中时,groovy文件必须在底部包含‘返回这个’。

代码语言:javascript
复制
def notifyEmail(buildStatus, emailRecipients) {
...
}

return this;

詹金斯文档:https://www.jenkins.io/doc/pipeline/steps/workflow-cps/#load-evaluate-a-groovy-source-file-into-the-pipeline-script

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62710955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档