Curl 列出JFrog Artifactory上存储库中的所有工件

Curl 列出JFrog Artifactory上存储库中的所有工件,curl,artifactory,Curl,Artifactory,我是人工制品厂的新手。目前我正在做一个项目,列出存储库中的所有工件 人工版本:4.1.3 Pro(关闭证书验证) 有人能帮我找到repo中的工件列表吗。谢谢大家! AQL是一条路要走。您的查询几乎很好(您忘记了从war或web开始的所有回购的$match。问题是curl。如果您想在命令行中写入查询字符串,您需要转义所有内部“和$。以下是有效的查询: curl -u uname:password -X POST -k https://artifactory.xxxx.com/artifactory

我是人工制品厂的新手。目前我正在做一个项目,列出存储库中的所有工件

人工版本:4.1.3 Pro(关闭证书验证)


有人能帮我找到repo中的工件列表吗。谢谢大家!

AQL是一条路要走。您的查询几乎很好(您忘记了从
war
web
开始的所有回购的
$match
。问题是curl。如果您想在命令行中写入查询字符串,您需要转义所有内部
$
。以下是有效的查询:

curl -u uname:password -X POST -k https://artifactory.xxxx.com/artifactory/api/search/aql -d "items.find({\"type\" : \"file\",\"\$or\":[{\"repo\" : {\"\$match\" : \"war*\"}, \"repo\" : {\"\$match\" : \"web*\"} }]}).include(\"name\",\"repo\",\"path\",\"size\").sort({\"\$desc\": [\"size\"]}).limit(10)"

现在,这是地狱。相反,考虑在文本文件中写入查询并将其传递给代码> > d@文件名.aql 。在这种情况下,您不需要所有的逃逸,并且查询看起来像:

items.find({
  "type" : "file",
  "$or":[{
    "repo" : {"$match" : "war*"}, 
    "repo" : {"$match" : "web*"} }]})
  .include("name","repo","path","size")
  .sort({"$desc": ["size"]})
  .limit(10)

这也适用于我。您可以按照@JBaruch指定的方式编写命令,也可以运行JSON AQL文件


curl-u uname-X POSThttp://host:8081/artifactory/api/search/aql -H“content-type:application/json”-d@filename.aql

对我来说,当我使用content-type text/plain而不是application/json,即

curl -u uname -X POST http://host:8081/artifactory/api/search/aql -H "content-type: text/plain" -d @filename.aql

您好@JBaruch。我尝试过您的建议,但没有运气。这看起来像是人工制品本身有问题。您好@JBaruch。我尝试过您的建议,但没有运气。这看起来像是人工制品本身有问题。我用-k更新了curl命令(添加到跳过证书验证).我想它无法到达人工工厂。$curl-u pkjogi:Ilikemyself@123-X POST-k-d“items.find({\'type\':\'file\',\'repo\':{\'repo\':{\'$match\':\'war*\',\'repo\':{\'$match\':\'web*\'}。)包括(\'name\','repo\'path\','size\')。排序({\'desc desc desc desc size\\\:['size\'})。限制(10)“让我们做一些简单的事情。从curl执行。如果失败,请使用带有
-vv
标志的curl输出询问一个新问题。可以连接到服务器,但它看起来像是AQL的问题。连接到artifactory.xxx.com(127.0.0.1)端口443(#0)获取/artifactory/api/search/aql HTTP/1.1>授权:基本sdifjdsmlkxzmsqwdspxzzfjla==>用户代理:curl/7.40.0>主机:artifactory.xxxx.com>接受:/>items.find({ "type" : "file", "$or":[{ "repo" : {"$match" : "war*"}, "repo" : {"$match" : "web*"} }]}) .include("name","repo","path","size") .sort({"$desc": ["size"]}) .limit(10)
curl -u uname -X POST http://host:8081/artifactory/api/search/aql -H "content-type: text/plain" -d @filename.aql