我正在尝试在Jenkins从属节点中运行groovy脚本,以从Jenkins从属节点中的文件夹检索子作业。这是我尝试过的常规脚本:
我尝试了一些答案,发现了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) 构建步骤“ Execute Groovy脚本”将构建标记为失败
有人可以帮助我解决此错误吗?预先感谢!
答案 0 :(得分:1)
最后,我找到了解决此错误的方法。这是由于在普通groovy脚本而不是系统groovy脚本上运行引起的。正如Jeyan所说,Jenkins变量仅适用于System groovy脚本,不适用于普通groovy脚本,这就是我无法从普通groovy脚本加载Jenkins实例的原因。