我希望使用 Artifactory 属性搜索
目前,这将拉取 json,列出与我的属性匹配的任何 Artifactory 。
"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"
}
]
我需要能够过滤我返回的 Artifactory ,因为我只对某个分类器感兴趣。 GAVC 搜索具有 &c=classifier
如果无法通过界面实现,我可以用代码来完成
感谢任何帮助
最佳答案
自从 Artifactory 3.5 中发布 AQL 以来,它现在已成为查找 Artifactory 的官方首选方式。
这是一个与您的需求类似的示例:
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
不要忘记将模板(用户、密码、主机和端口)替换为实际值。
在示例中 前两个条件用于按属性过滤项目。 第三个标准按 Artifactory 名称过滤项目(在我们的例子中, Artifactory 名称应以 .jar 结尾)
有关如何编写 AQL 查询的更多详细信息,请参阅 AQL
旧答案
目前您无法将特性搜索与 GAVC 搜索结合起来。 所以你有两个选择:
- 执行其中之一(以提供更精确结果的为准),然后通过脚本过滤客户端上的 JSON 列表
- 正在写
execution
user plugin将使用 theSearches
service 执行搜索然后在服务器端过滤结果。
当然,后者更好。
关于artifactory - 在 Artifactory 中过滤基于属性的搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22765791/