1

我在 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搜索从特定分支名称创建的工件。

如果我使用项目名称和内部版本号进行搜索,我会得到结果。

items.find({
  "@build.name":"my-project",
  "@build.number":"359"
}).include("*")

但是,如果我尝试在属性中搜索,我不会。

items.find({
  "@build.properties.buildInfo.env.GIT_BRANCH": "origin/my-branch-name"
}).include("*")

如何在这些属性中搜索?即构建的环境变量。

4

2 回答 2

2

你需要做类似的事情

items.find({
  "item.artifact.module.build.properties.@buildInfo.env.GIT_BRANCH" : {"$eq" : "origin/my-branch-name"}}
})
于 2017-05-15T06:51:15.117 回答
0

我决定修改 jenkins 以将 GIT_BRANCH 添加为构建属性,而不是搜索构建信息。

我现在可以这样搜索:

items.find({
    "@build.name":"my-project",
    "@build.branch":{"$match":"*my-branch-name*"},
    "name":{"$match":"*.tar.gz"}
}).include("*")
于 2017-05-17T17:48:49.650 回答