我正在使用主动选择插件,并使用了一个groovy脚本来检索Jenkins中所有作业的名称。我可以写一个groovy脚本,让我列出该特定工作的所有内部版本号。如何使用groovy脚本获取jenkins中所有特定作业的编号?
1
A
回答
0
尝试:
def xml=new XmlSlurper().parse("http:{serverName}/Jenkins/rssLatest")
def projects = xml.entry.collect{(it.title as String).split("#")[0].trim()}
println projects
总的来说,我建议你浏览詹金斯饲料的简介您想要再寻找一个“RSS频道” - 然后把那个URL的RSS到的XmlSlurper,看看你会得到什么。
另外,我倾向于通过groovysh中的这些东西来工作,它使探索对象的工作方式变得非常简单。在这种情况下,您可能还想在尝试groovysh中的对象时查看原始XML。
1
0
然后从所选择的工作retriving内部版本号创建活动的选择参数REST API(因为我知道它的工作原理):
http:/// api/xml?tree = jobs [name,builds [result,description,id,number,url,timestamp]] & pretty =真正的& xpa TH =哈德森/工作[名称=“”] &包装=工作
这导致这样的事情:
<jobs>
<job _class="...">
<name>JOBNAME</name>
<build _class="...">
<id>66</id>
<number>66</number>
<result>FAILURE</result>
<timestamp>1489717287702</timestamp>
<url>JOB_URL</url>
</build>
...
</job>
<jobs>
所以结合下面的调用具有的foreach循环应该做的伎俩。
def text = "rest_api_url".toURL().text
def jobs = new XmlSlurper().parseText(text.toString())
否则像这样的东西也应该工作 - 即使我没有测试过它。
import jenkins.model.*
for(item in Jenkins.instance.items) {
if ("JOBNAME".equals(item.name)) {
// do something with $item.builds
// foreach item.builds -> ...
}
}
相关问题
- 1. 在Jenkins groovy作业配置中使用latestSuccessfulBuild编号
- 2. Jenkins使用Groovy编写脚本
- 3. Groovy脚本获取Jenkins触发时间
- 4. Jenkins Groovy脚本
- 5. 如何将shell脚本添加到所有jenkins作业?
- 6. groovy脚本更新现有jenkins作业与松弛通知
- 7. Jenkins Shelving使用Groovy的作业
- 8. 如何在Groovy脚本中获取Jenkins Mask密码变量
- 9. Jenkins conditionalstep groovy脚本
- 10. 在Active Choice反应参数中使用Groovy脚本检索Jenkins作业名称
- 11. Elasticsearch - 获取Groovy脚本中的语言环境特定日期
- 12. jenkins cli with checkout Subversion使用groovy脚本
- 13. 如何以编程方式在Jenkins Groovy脚本中使用凭据调用Git?
- 14. 如何获取IBM i作业详细信息使用作业编号 - Java(JT400)
- 15. 如何使用Jenkins DSL设置所有作业的作业超时
- 16. 有没有jenkins的插件可以支持定期使用特定脚本的作业?
- 17. 如何使用javascript_include_tag获取文件夹中的所有脚本
- 18. 如何使用groovy脚本为现有jenkins作业添加执行批处理命令
- 19. 在IDE中运行jenkins的groovy脚本
- 20. 如何使用Groovy脚本脚本CONSOL
- 21. 如何写现有使用Groovy脚本
- 22. 使用Jenkins CLI获取Jenkins中给定内部版本号的最近更改
- 23. jenkins中的特定作业的队列中有多个构建
- 24. Groovy脚本查找名称为“Team CT”的所有作业并禁用它们
- 25. 如何从“Execute system Groovy script”调用位于jenkins slave中的batch/groovy脚本?
- 26. 如何使用groovy脚本控制台来终止Jenkins作业后遗留的进程?
- 27. 如何使用BeautifulSoup从特定表中获取所有行?
- 28. 如何通过shell脚本在jenkins作业中设置条件
- 29. 如何通过Groovy中的Jenkins API执行jenkins作业保存事件?
- 30. 如何更新jenkins中所有作业的git凭证?
这应该是可以的。我建议你看一下http://javadoc.jenkins-ci.org/jenkins/model/Jenkins.html。有很多API可以使用。 – Chong
你已经尝试过了什么? –
我尝试使用主动选择反应参数,和Groovy脚本获得所选作业高清getAllBuildNumbers的所有版本号(工作任务){ (job.getBuilds()){各建 - > buildNumbers 打印buildNumbers } }但无法检索内部版本号 – ZzzZ