![](/img/trans.png)
[英]How to get Script Path from each Jenkins Jobs using Groovy Console Script/Jenkins API
[英]How to capture second string using groovy script from jenkins console
我需要在jenkins作業上配置rspec測試用例的運行次數。 以下是測試運行后jenkin控制台中條目的格式。
3 examples, 0 failures
6 examples, 0 failures
如上圖所示,我們在控制台中有兩次這樣的輸入(因為運行了2個ruby腳本)。 因此,在所有運行之后,完成構建后,我需要捕獲條目並在jenkins的“構建歷史”中顯示的工作中顯示。
因此,現在要捕獲以上計數,我在詹金配置的groovy Postbuild中使用以下groovy腳本。 但是它只是從jenkins控制台中選擇字符串的第一個匹配項:
matcher = manager.getLogMatcher("(.*) examples, (.*) failures")
if(matcher != null && matcher.matches()) {
totalTests = matcher.group(1)
failedTests = matcher.group(2)
description += "<br/>UI Tests: total: ${totalTests}, Fail: ${failedTests}"
}
我要如何從jenkins控制台中獲得2、3rd匹配項:
您也可以嘗試使用build.getLog(int maximumLines),然后使用正則表達式解析輸出。 例如:
def buildLog = manager.build.getLog(10) // you might need to change the amount of maximum lines
def group = (buildLog =~ /(\d+) examples, (\d+) failures/ )
for(int i=0; i<group.size();i++) {
manager.createSummary("info.gif").appendText("examples: ${group[i][1]}, failures: ${group[i][2]}", false)
}
在這種情況下,結果將添加到每個構建信息中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.