我尝试使用Active Choices插件通过repo使用github api来获取分支列表,但它给出了一个错误,即没有repo - 这是一个已经定义的引用参数。
如果我使用的是Ubuntu 16.0.4,Jenkins 2.32.2和Active options 1.5.3。
if (REPO.equals("REPOA")){
def proc = "curl https://api.github.com/repos/jenkinsci/active-choices-plugin/branches | jq -r '[.[] | .name ]'".execute()
return proc.text
}
else if (REPO.equals("REPOB")){
def proc = "curl https://api.github.com/repos/jenkinsci/active-choices-plugin/branches | jq -r '[.[] | .name ]' ".execute()
return proc.text
}
我做错了吗?
(我也尝试使用缓冲区/流方式,因为我发现了一些关于不使用来自stackoverflow的文本'但结果相同的答案。获取分支名称的代码部分在脚本编辑模式下工作正常。)
def proc ="curl...."
def outputStream = new StringBuffer()
proc.waitForProcessOutput(outputStream, System.err)
return outputStream.toString())
referenced parameter reactive part
错误如下:
Fallback to default script...
groovy.lang.MissingPropertyException: No such property: REPO for class: Script1
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53)
at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:307)
at Script1.run(Script1.groovy:1)
答案 0 :(得分:0)
不幸的是,我无法对您的帖子发表评论以进一步澄清,所以我必须回答这个问题。您是否从Active Choices Reactive Parameter中填写Referenced parameters
?
设置初始活动选择参数后,必须通过填写初始活动选择参数的名称,在活动选择活动参数(仅低于选择类型)中引用它。我没有在你的打印屏幕上看到它。
让我知道。我希望这会有所帮助。
更新: 没关系。我会自己回答。我刚刚看到你确实参考了它。我的错。还看到了Jenkins的错误报告:http://jenkins-ci.361315.n4.nabble.com/Active-Choices-plugin-not-found-referenced-parameter-td4890493.html
就像Ioannis Moutsatsos-2所说的那样,你应该尝试从groovy脚本中返回一个列表或地图,而不是现在正在尝试的文本。