[英]How can I get all build numbers of particular job in jenkins using groovy script?
我正在使用主動選擇插件,有一個groovy腳本,可以檢索Jenkins中所有作業的名稱。 我可以編寫一個groovy腳本來獲取該特定作業的所有構建號的列表。
嘗試:
def xml=new XmlSlurper().parse("http:{serverName}/Jenkins/rssLatest")
def projects = xml.entry.collect{(it.title as String).split("#")[0].trim()}
println projects
一般情況下,我建議瀏覽你的jenkins feed以獲取你想要的信息,然后查找“rss feed” - 然后將該rss URL放入XmlSlurper中,看看你得到了什么。
此外,我傾向於在groovysh中完成這些工作,這使得探索對象如何工作變得非常容易。 在這種情況下,您可能還希望在groovysh中嘗試對象時查看原始XML。
我會討論REST-API(因為我知道它可以工作):
HTTP:/// API / XML樹=就業[名稱,建立[結果說明,身份證,號碼,URL,時間戳]]漂亮=真XPath的=哈德森/工作[名稱= ''] =包裝工作
這導致如下所示:
<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 -> ...
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.