我尝试在Jenkins代理节点中运行groovy脚本,以从Jenkins代理节点中的文件夹中检索子作业。下面是我尝试的groovy脚本:
我尝试了一些这样的答案,发现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 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
有人能帮我解决这个错误吗?
1条答案
按热度按时间jucafojl1#
最后,我找到了这个错误的解决方案。这是由于运行普通groovy脚本而不是系统groovy脚本造成的。正如Jayan所说,Jenkins变量只适用于系统groovy脚本,而不是普通groovy脚本。因此,我无法从普通groovy脚本加载Jenkins示例。