使用 AQL(人工查询语言)在 jfrog-artifactory 的 repo 中列出所有构建(人工制品)

list all builds(artifacts) in a repo on jfrog-artifactory using AQL(artifactory query language)

每当我 运行 curl 命令时,它都会抛出语法错误。我已按照 this documentation 列出 'war-release' 存储库中的所有工件。不知道是什么问题。

$curl -u uname:password -X POST https://<artifactory.com>/artifactory/api/search/aql -d items.find({"repo":"war-release"})

-bash: syntax error near unexpected token `('

试试这个 curl 语句:

curl -u uname:password -X POST -d "items.find({"repo":"war-release"})" https:///artifactory/api/search/aql

另一个不需要用 " 或 ' 括起查询并且适用于大多数环境的选项是将查询保存到文件,我们称之为 aql.query

items.find(
     {
          "repo":"war-release"
     }
)

然后 运行 从包含 aql.query 文件的同一目录执行以下 curl 命令(不要忘记将命令中的模板替换为您的用户名、密码、主机和港口)。

curl -X POST -uuser:password 'http://host:port/artifactory/api/search/aql' -Taql.query

curl -X POST -k -u user:pwd 'https://xxx/artifactory/api/search/aql' -d 'items.find({"repo":"repo-local"})' gives json output.

使用单引号 -- 这对我很有效