我在Artifactory中构建的构建信息JSON包含:
{
"properties": {
"java.vendor": "Oracle Corporation",
"sun.java.launcher": "SUN_STANDARD",
"sun.management.compiler": "HotSpot 64-Bit Tiered Compilers",
"buildInfo.env.CLASSPATH": "",
"os.name": "Linux",
"buildInfo.env.GIT_BRANCH": "origin/my-branch-name",
},
"version": "1.0.1",
"name": "my-project",
"number": "359",
我想将AQL用于search,以获取根据特定分支名称创建的工件。
如果我使用项目名称和内部版本号进行搜索,我会得到结果。
items.find({
"@build.name":"my-project",
"@build.number":"359"
}).include("*")
但是,如果我尝试在属性中搜索,我不会。
items.find({
"@build.properties.buildInfo.env.GIT_BRANCH": "origin/my-branch-name"
}).include("*")
如何在这些属性中搜索?即构建的环境变量。
答案 0 :(得分:2)
您需要执行类似
的操作items.find({
"item.artifact.module.build.properties.@buildInfo.env.GIT_BRANCH" : {"$eq" : "origin/my-branch-name"}}
})
答案 1 :(得分:0)
我没有搜索构建信息,而是决定修改jenkins以将GIT_BRANCH添加为构建属性。
我现在可以这样搜索:
items.find({
"@build.name":"my-project",
"@build.branch":{"$match":"*my-branch-name*"},
"name":{"$match":"*.tar.gz"}
}).include("*")