我正在寻找使用Artifactory属性搜索
目前,这将拉出json列出与我的属性匹配的任何工件。
"results" : [
{
"uri": "http://localhost:8080/artifactory/api/storage/libs-release-local/org/acme/lib/ver/lib-ver.pom"
},{
"uri": "http://localhost:8080/artifactory/api/storage/libs-release-local/org/acme/lib/ver2/lib-ver2.pom"
}
]
我需要能够过滤我得到的工件,因为我只对某个分类器感兴趣。 GAVC搜索具有& c =分类器
如果通过界面
无法实现,我可以在代码中执行此操作任何帮助表示赞赏
答案 0 :(得分:2)
自Artifactory 3.5中发布AQL以来,它现在是查找工件的官方和首选方式。
以下是与您的需求类似的示例:
items.find
(
{
"$and":[
{"@license":{"$eq":"GPL"}},
{"@version":{"$match":"1.1.*"}},
{"name":{"$match":"*.jar"}}
]
}
)
要在Artifactory中运行查询,请将查询复制到文件并将其命名为aql.query
从包含aql.query文件的目录运行以下命令
curl -X POST -uUSER:PASSWORD'http://HOST:PORT/artifactory/api/search/aql'-Taql.query
不要忘记将模板(USER,PASSWORD,HOST和PORT)替换为实际值。
在示例中 前两个条件用于按属性过滤项目。 第三个标准按工件名称过滤项目(在我们的示例中,工件名称应以.jar结尾)
有关如何编写AQL查询的更多详细信息,请参阅AQL
旧答案
目前,您无法将属性搜索与GAVC搜索结合使用。 所以你有两个选择:
execution
user plugin编写将执行搜索的the Searches
service,然后在服务器端过滤结果。当然,后者更可取。