Объект домена сборки AQL не возвращает результаты
Я столкнулся с проблемой, из-за которой я не могу получить ни один из запросов, которые я делаю к объекту домена сборки, для возврата при использовании 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 -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, который возвращает самую свежую информацию о сборке определенной сборки, основанную на имени, но я не смог заставить работать даже самый простой Query для объекта домена сборки.
Заранее спасибо за помощь.
1 ответ
Ответ может быть связан с разрешениями. Если используемый вами ключ API принадлежит не администратору, это может объяснить ситуацию.
Для запроса домена сборки с использованием AQL требуются права администратора, в то время как для API "Все сборки" требуется только привилегированный пользователь.