在我的jenkins工作的浏览器中,我运行以下查询。
lastStableBuild / API / JSON漂亮=真安培;树=行动[buildsByBranchName [* [*]]]
以上查询的结果
{
"_class" : "hudson.model.FreeStyleBuild",
"actions" : [
{
"_class" : "hudson.model.CauseAction"
},
{
},
{
"_class" : "jenkins.metrics.impl.TimeInQueueAction"
},
{
},
{
"_class" : "hudson.plugins.git.util.BuildData",
"buildsByBranchName" : {
"my-branch-name" : {
"_class" : "hudson.plugins.git.util.Build",
"buildNumber" : 587,
"buildResult" : null,
"marked" : {
"SHA1" : "***",
"branch" : [
{
}
]
},
"revision" : {
"SHA1" : "***",
"branch" : [
{
}
]
}
},
"my-other-branch-name" : {
"_class" : "hudson.plugins.git.util.Build",
"buildNumber" : 1373,
"buildResult" : null,
"marked" : {
"SHA1" : "***",
"branch" : [
{
}
]
},
"revision" : {
"SHA1" : "***",
"branch" : [
{
}
]
}
},
我希望能够将其缩小到只有您可以使用的构建号
/lastSuccessBuild/buildNumber
使用api,但我会解决分支名称键中的所有内容,这样我就不必遍历所有分支并比较名称。我假设我可以在指定"*"
的地方缩小范围,但无法确定要使用的正确语法。
答案 0 :(得分:1)
我从这里得到了这些信息。
tree=actions[lastBuiltRevision[*,branch[*]]]
无论哪种方式,如果你想要从树的buildsByBranchName部分内部获取分支信息,你将不得不像我上面那样查询它。
答案 1 :(得分:0)
如果您不介意在xml中回复答案,xpath效果很好。
对于网址:
/lastStableBuild/api/xml?xpath=//buildsByBranchName&wrapper=meep
创建一个类似于:
的xml<meep>
<buildsByBranchName>
...
</buildsByBranchName>
</meep>
并且将使用buildsByBranchName 填充(注意:如果有多个git遥控器可能有多个,因此需要一个包装器)用于指定的上一次成功构建的作业在网址中。你可以用任何东西替换“meep”这个词,它将成为新创建的xml对象的包装器对象。