【问题标题】:groovy.lang.MissingPropertyException: No such property: Jenkins for class: hudsongroovy.lang.MissingPropertyException:没有这样的属性:Jenkins for class:hudson
【发布时间】:2020-02-01 23:05:37
【问题描述】:

我正在尝试在 Jenkins 从节点中运行一个 groovy 脚本,以从 Jenkins 从节点中的文件夹中检索子作业。这是我尝试过的 groovy 脚本:

我尝试了一些 SO 答案,发现 groovy.lang.MissingPropertyException: No such property: jenkins for class: groovy.lang.Binding

但这并不能解决我的问题。

请找到我尝试过的代码:

import groovy.json.JsonSlurper
import groovy.json.JsonBuilder
import jenkins.model.*

static main(args){

    def childJobFolder = "childJob"
    def childJobNameList = []

    def env = System.getenv()

    // Setting the environment properties to variables.
    def jenkinsUsername = env.UAT_JENKINS_MY_USER
    def jenkinsPassword = env.UAT_JENKINS_MY_PASS

    def jsonSlurper = new JsonSlurper()

    // Getting the child job names from "childJob" folder
    Jenkins.instance.getItemByFullName(childJobFolder).allJobs.each{
        def childJobName = it.name.toString()
        if(childJobName.startsWith("job-")){
            childJobNameList.add(childJobName)
        }
    }

    println "\n" + "Child Jobs Available: " + childJobNameList + "\n"

}

这是我在控制台中得到的:

捕获:groovy.lang.MissingPropertyException:没有这样的属性:Jenkins 类:hudson3067346520259876246 groovy.lang.MissingPropertyException:没有这样的属性:Jenkins 类:hudson3067346520259876246 在 hudson3067346520259876246.run(hudson3067346520259876246.groovy:17) 构建步骤“执行 Groovy 脚本”将构建标记为失败

有人可以帮我解决这个错误吗?提前致谢!

【问题讨论】:

标签: jenkins groovy jenkins-groovy jenkins-slave


【解决方案1】:

最后,我找到了这个错误的解决方案。这是由于在普通 groovy 脚本而不是系统 groovy 脚本上运行造成的。正如 Jayan 所说,Jenkins 变量仅适用于系统常规脚本,不适用于普通常规脚本。出于这个原因,我无法从普通的 groovy 脚本加载 Jenkins 实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    相关资源
    最近更新 更多