Artifactory中基于过滤器属性的搜索
我希望使用Artifactory属性搜索 目前,这将提取json,列出与我的属性匹配的任何工件Artifactory中基于过滤器属性的搜索,artifactory,Artifactory,我希望使用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-loc
"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=classifier进行此操作
如果无法通过接口实现,我可以用代码实现
自从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:密码“”-Taql.query
不要忘记将模板(用户、密码、主机和端口)替换为实际值
在这个例子中
前两个条件用于按属性筛选项。
第三个标准根据工件名称过滤项目(在我们的例子中,工件名称应该以.jar结尾)
有关如何编写AQL查询的更多详细信息,请参阅AQL
旧答案 当前无法将属性搜索与GAVC搜索相结合。 所以你有两个选择:
- 执行其中一个(无论哪个结果更精确),然后通过脚本过滤客户端上的JSON列表
- 编写一个将通过使用执行搜索,然后在服务器端筛选结果的
当然,后者更好。谢谢您的回复。如果你最终得到了一个用户插件,欢迎你把它贡献给:)用户插件看起来确实很有趣。不确定这项任务,但会看看它是否适用于其他地方,是的,如果它看起来可能有用,我将与大家分享。谢谢