我遇到了一个问题,我无法在构建域对象上获取任何查询,以便在使用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"
}
所以我知道我的Artifactory中有构建
但是,当我进行以下卷曲时,我相信要求所有版本都使用任何名称,我没有得到任何结果
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
}
}
我在使用items.find()
时能够获得结果但是没有运气builds.find()
我有什么遗漏吗?
我的总体意图是拥有一个Query,它根据名称返回特定构建的最新构建信息,但是我甚至无法获得最简单的查询以使构建域对象起作用。
提前感谢您的帮助。
答案 0 :(得分:1)
答案可能与权限有关。如果您使用的API密钥属于非管理员用户,则可以解释该情况 使用AQL查询构建域需要管理员权限,而“所有构建”API仅需要特权用户。