我剛剛通過JSON URL發現Jenkins作業,每個作業都使用這種格式:https://jenkinsurl.net/job/_test/lastBuild/api/json
提供瞭如下所示的信息。Groovy基於JSON的作業值生成動態參數?
{"_class":"hudson.model.FreeStyleBuild","actions":[{"_class":"hudson.model.ParametersAction","parameters":[{"_class":"hudson.model.StringParameterValue","name":"build_num","value":""}]},{"_class":"hudson.model.CauseAction","causes":[{"_class":"hudson.model.Cause$UserIdCause","shortDescription":"Started by user anonymous","userId":"anonymous","userName":"anonymous"}]},{},{},{},{},{},{"_class":"org.jenkinsci.plugins.buildenvironment.actions.BuildEnvironmentBuildAction"},{}],"artifacts":[],"building":false,"description":null,"displayName":"#1","duration":1850,"estimatedDuration":1850,"executor":null,"fullDisplayName":"_test #1","id":"1","keepLog":false,"number":1,"queueId":5753,"result":"SUCCESS","timestamp":1479700053274,"url":"http://jenkinsserver.net/job/_test/1/","builtOn":"node_name","changeSet":{"_class":"hudson.scm.EmptyChangeLogSet","items":[],"kind":null},"culprits":[]}
我想知道我怎麼可以查詢這些領域與Groovy腳本來幫助我建立動態參數選擇「與參數建設」的時候。我已經有了Groovy和Dynamic參數插件,並將它們用於我一直使用的一些簡單查詢來生成一些參數,如時間戳未被Jenkins作業下游覆蓋。
如何查詢這些並返回它們的值?例如,如果我想回去,從這個段開始構建用戶的價值:
[{"_class":"hudson.model.Cause$UserIdCause","shortDescription":"Started by user anonymous","userId":"anonymous","userName":"anonymous"}]
這不是一個關於得到觸發構建的人的問題。對不起,如果這不是一個很好的例子,但這個似乎是一個嵌套,所以大概是一個很好的學習。
我知道如何引用參數的值,並獲取一些信息返回以生成它們,但不知道如何使用該URL並從中提取特定信息以幫助在構建開始之前創建參數值。這可能嗎?如果不是,我還可以使用其他什麼機制?