根据下面的链接,Artifactory AQL允许通过REST API仅返回感兴趣的字段来“显示特定字段”。
https://www.jfrog.com/confluence/display/RTF/Artifactory+Query+Language#ArtifactoryQueryLanguage-DisplayingSpecificFields
如果我提供字段列表,则不起作用,请参见下文
不起作用-错误的请求(400)
items.find(...)。include(“name”,“repo”)
作品
items.find(...)。include(“*”)
任何人都可以建议
谢谢,贾格
最佳答案
我怀疑问题与REST调用期间的编码有关,因此我建议将查询上传为文件。这是一个有效的示例:
将以下查询保存到文件,将其称为aql.query
items.find
(
{
"repo": {"$match":"*"}
}
)
.include("name","repo")
从包含aql.query文件的同一目录中运行以下curl命令,不要忘记用您的用户名,密码,主机和端口替换命令中的模板。
curl -X POST -uuser:密码'http://host:port/artifactory/api/search/aql'-Taql.query
结果是:
{
"results" :
[
{
"repo" : "ext-snapshot-local",
"name" : "maven-metadata.xml"
},{
"repo" : "ext-snapshot-local",
"name" : "multi-3.0.0-20150705.195404-1.pom"
},{
.
.
.
}
],
"range" :
{
"start_pos" : 0,
"end_pos" : 46,
"total" : 46
}
}
如您所见,结果仅包含“item repo”和“item name”字段。