Artifactory AQL生成域对象不返回结果

Artifactory AQL生成域对象不返回结果,artifactory,artifactory-query-lang,Artifactory,Artifactory Query Lang,我遇到了一个问题,在使用AQL时,我无法获得我对构建域对象进行的任何查询返回 当我做以下卷曲时: curl -X GET -H "X-JFrog-Art-Api: myArtifactroyKey" -H "Cache-Control: no-cache" "https://MyArtifactoryServer/artifactory/api/build/" 我得到了一组结果: { "builds": [ { "uri": "/someBuild", "l

我遇到了一个问题,在使用AQL时,我无法获得我对构建域对象进行的任何查询返回

当我做以下卷曲时:

curl -X GET -H "X-JFrog-Art-Api: myArtifactroyKey" -H "Cache-Control: no-cache" "https://MyArtifactoryServer/artifactory/api/build/"
我得到了一组结果:

{
  "builds": [
    {
      "uri": "/someBuild",
      "lastStarted": "2017-02-15T22:02:49.066+0000"
    },
    {
      "uri": "/someOtherBuild",
      "lastStarted": "2017-02-15T21:45:09.590+0000"
    }, 
      "uri": "/someThirdBuild",
      "lastStarted": "2017-02-15T21:17:38.794+0000"
    }
],
  "uri": "https://myArtifactoryServer/artifactory/api/build"
}
所以我知道在我的人工制品中有构建

然而,当我进行下面的curl时,我认为这是在请求所有具有任何名称的构建,我没有得到任何结果

curl -X POST -H "X-JFrog-Art-Api: myArtifactroyKey" -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -d 'builds.find({"name": {"$match":"*"}})' "https://MyArtifactoryServer/artifactory/api/search/aql"
返回:

{
  "results": [],
  "range": {
    "start_pos": 0,
    "end_pos": 0,
    "total": 0
  }
}
我在使用
项时能够得到结果。find()
但在
构建方面没有任何运气。find()
我缺少什么吗

我的总体意图是创建一个查询,根据名称返回特定构建的最新构建信息,但我甚至无法对构建域对象进行最简单的查询


提前感谢您的帮助。

答案可能与权限有关。如果您使用的API密钥属于非管理员用户,则它可以解释这种情况。

使用AQL查询生成域需要管理员权限,而“所有生成”API只需要特权用户。

我尝试运行您的查询(更改API密钥和MyArtifactoryServer),结果效果非常好。您是否可以在Artifactory中检查request.log并共享与此查询相关的日志行?另外,您是否使用管理员用户?如果不是,你能试试管理员用户,看看是否有什么变化吗?我发现上面的查询只有在用户拥有“管理员”权限的情况下才有效。我可以理解查询将需要特权用户,但奇怪的是它需要最高级别的特权。这是对的吗?是否有不同的方法来获取相同的信息,而不需要如此强大的权限设置?关于AQL查询,这是目前的情况。某些AQL域仅限于管理员访问。当用户权限不足时,
/api/search/AQL
api通过返回相应的HTTP错误状态(403禁止在此处是合适的),无法明确说明这一点;奇怪的是,允许(更重的)获取所有
/api/build
,而不允许更窄的AQL查询;令人沮丧的是,
/api/build
本身不支持任何过滤。