Как мне найти артефактный артефакт сборки, основанный на имени среды?
Информация о сборке JSON для моей сборки в Artifactory содержит следующее:
{
"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("*")
Как мне искать в этих свойствах? т.е. переменные среды сборки.
2 ответа
Вам нужно сделать что-то вроде
items.find({
"item.artifact.module.build.properties.@buildInfo.env.GIT_BRANCH" : {"$eq" : "origin/my-branch-name"}}
})
Вместо того, чтобы искать информацию о сборке, я решил изменить jenkins, добавив GIT_BRANCH в качестве свойства сборки.
Теперь я могу искать так:
items.find({
"@build.name":"my-project",
"@build.branch":{"$match":"*my-branch-name*"},
"name":{"$match":"*.tar.gz"}
}).include("*")