1
我正在嘗試使用Groovy的JsonBuilder和Groovy PostBuild插件創建Jenkins構建的JSON輸出。一切似乎都在工作,除了構建結果。它不給我JSON輸出中的實際生成結果,它給了我所有可能結果(即SUCCESS,UNSTABLE,FAILURE等)的數組。如果我只是將結果打印到控制檯,它將打印出實際結果。將Jenkins構建結果寫入JSON
下面是代碼:
import groovy.json.*
def result = manager.build.result
manager.listener.logger.println result // Prints just the build result
def json = new groovy.json.JsonBuilder()
def root = json.build {
build_number manager.build.number
build_timestamp manager.build.timestamp
build_duration manager.build.duration
build_url manager.build.url
build_project_name manager.build.project.name
build_culprits manager.build.culprits
build_result result // Prints an array of all possible results
build_result manager.build.result // Also prints an array of all possible results
}
manager.listener.logger.println "...and the status is ${result}" // Prints just the build result
manager.listener.logger.println JsonOutput.prettyPrint(json.toString())
這裏是輸出:
UNSTABLE
...and the status is UNSTABLE
{
"build": {
"build_number": 85,
"build_timestamp": "2014-01-14T13:26:06+0000",
"build_duration": 0,
"build_url": "job/JSON_Test/85/",
"build_project_name": "JSON_Test",
"build_culprits": [
],
"build_result": {
"names": [
"SUCCESS",
"UNSTABLE",
"FAILURE",
"NOT_BUILT",
"ABORTED"
],
"completeBuild": true
}
}
}
我曾嘗試用於可變結果的各種不同的語法組合,例如$結果,$ {結果}和$ {result}在json.build塊中,但都會導致編譯錯誤。
你可以嘗試'build_result result.toString()' –
這奏效了 - 非常感謝你! – JamesE
作爲回答添加:-) –