【发布时间】:2015-04-29 21:31:10
【问题描述】:
在 Groovy 中,我得到了一份 Hudson 的工作:
def job = hudson.model.Hudson.instance.getItem("Rsync library to docs-stage")
现在我想要一份该作业的参数名称列表。听起来很简单,但谷歌搜索并没有让我到达那里。有人可以启发我吗?
谢谢。
【问题讨论】:
在 Groovy 中,我得到了一份 Hudson 的工作:
def job = hudson.model.Hudson.instance.getItem("Rsync library to docs-stage")
现在我想要一份该作业的参数名称列表。听起来很简单,但谷歌搜索并没有让我到达那里。有人可以启发我吗?
谢谢。
【问题讨论】:
我不确定您所说的“参数名称”是什么意思。作为最后的手段,您可以将作业配置作为 XML 字符串:
print job.configFile.asString()
由于这是 XML,您可以根据需要对其进行解析。根据您要查找的参数名称,您可能还可以直接在 Java 中获取它们。您可以发布您正在寻找的 XML 吗?这将有助于评论更好的方法。
这个海报需要的参数,用Groovy很容易搞定:
def params = job.getProperty('hudson.model.ParametersDefinitionProperty')
.parameterDefinitions
params.each { p -> println "$p.name"}
【讨论】:
def param_names = params.collect{ it.name}