groovy.lang.MissingPropertyException: 没有这样的 属性: Jenkins for class: hudson
groovy.lang.MissingPropertyException: No such property: Jenkins for class: hudson
我正在尝试 运行 Jenkins 从属节点中的 groovy 脚本以从 Jenkins 从属节点中的文件夹中检索子作业。这是我试过的 groovy 脚本:
我尝试了一些 SO 答案并找到了
但这并不能解决我的问题。
请找到我试过的代码:
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"
}
这是我在控制台中得到的:
Caught: groovy.lang.MissingPropertyException: No such property: Jenkins for class: hudson3067346520259876246
groovy.lang.MissingPropertyException: No such property: Jenkins for class: hudson3067346520259876246
at hudson3067346520259876246.run(hudson3067346520259876246.groovy:17)
Build step 'Execute Groovy script' marked build as failure
有人可以帮我解决这个错误吗?提前致谢!
终于,我找到了这个错误的解决方案。这是由 运行 在普通 groovy 脚本而不是系统 groovy 脚本上引起的。正如 Jayan 所说,Jenkins 变量仅适用于系统 groovy 脚本,不适用于普通 groovy 脚本。出于这个原因,我无法从普通 groovy 脚本加载 Jenkins 实例。
我正在尝试 运行 Jenkins 从属节点中的 groovy 脚本以从 Jenkins 从属节点中的文件夹中检索子作业。这是我试过的 groovy 脚本:
我尝试了一些 SO 答案并找到了
但这并不能解决我的问题。
请找到我试过的代码:
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"
}
这是我在控制台中得到的:
Caught: groovy.lang.MissingPropertyException: No such property: Jenkins for class: hudson3067346520259876246 groovy.lang.MissingPropertyException: No such property: Jenkins for class: hudson3067346520259876246 at hudson3067346520259876246.run(hudson3067346520259876246.groovy:17) Build step 'Execute Groovy script' marked build as failure
有人可以帮我解决这个错误吗?提前致谢!
终于,我找到了这个错误的解决方案。这是由 运行 在普通 groovy 脚本而不是系统 groovy 脚本上引起的。正如 Jayan 所说,Jenkins 变量仅适用于系统 groovy 脚本,不适用于普通 groovy 脚本。出于这个原因,我无法从普通 groovy 脚本加载 Jenkins 实例。