下面是一个简单的JSON。
{
"buildsByBranchName": {
"origin/master": { "buildNumber": 28694 },
"master": { "buildNumber": 28563 },
"refs/remotes/origin/master": { "buildNumber": 4094 }
},
"lastBuiltRevision": {
"branch": [
{ "name": "origin/master" }
]
}
}
我想查找最后一个生成的分支的内部版本号。
这样做的逻辑是找到分支的名称.lastBuiltRevision.branch[0].name
= origin/master
。然后使用分支名称查找内部版本号.buildsByBranchName | to_entries[] | select(."key" == "origin/master") .value.buildNumber
= 28694
。但我不知道如何把它们结合起来。
在.buildsByBranchName
之后,我在选择中无法访问lastBuiltRevision
。或者有什么办法?
我大概可以用两个呼叫jq来完成这个。但我真的很想用一个人来做。
1条答案
按热度按时间nukf8bse1#
不需要
select()
,你可以在buildByBranchName
中使用分支作为所需的键:输出:
28694
如果你需要在更多的地方使用
.lastBuiltRevision.branch[0].name
,考虑设置一个变量: