Как опросить статус выполнения шлюза качества?
Я хотел бы опросить состояние выполнения шлюза качества моего экземпляра SonarQube 6.3, используя вызов API REST. Я прошел несколько вызовов API, которые не дали мне ожидаемых результатов.
Я пытался использовать эти URL:
Но я всегда получал такой ответ:
{"errors":[{"msg":"Unknown url : /api/resources"}]}
Как я могу опросить статус выполнения шлюза качества через REST?
3 ответа
http://localhost:9000/web_api перечисляет конечные точки веб-службы, доступные на вашем сервере, и предоставляет документацию для каждой из них. В моей копии 6.3 в документации для "api / resources" написано
Удалено с версии 6.3, используйте вместо этого api / компоненты и api / меры
Вы говорите, что пробовали http://localhost:9000/api/components и получили ошибку. Это потому, что на самом деле там нет веб-службы. Вам нужно будет добавить классификатор для услуги, которую вы хотите, например, /api/components/search
, как описано в документации для этого набора служб: http://localhost:9000/web_api/api/components
На самом деле в правильном URL-адресе SonarQube есть 5 частей. Их можно увидеть так domain/api/controller/action?parameters
, например http://localhost:9000/api/components/show?componentKey=blue
,
Итак, мы имеем:
- домен: который представлен
http://localhost:9000
в данном примере это адрес, по которому вы можете позвонить на сервер SonarQube. - API: который представлен
/api
в данном примере это базовый путь ко всем веб-сервисам в SonarQube - Контроллер: который представлен
/components
в этом примере он представляет собой пул веб-службы, относящийся к данной теме (проблемы, профили, компоненты и т. д.) - действие: которое представлено
/show
в данном примере это единичное действие, которое вы можете выполнить через веб-сервис, например: показать, найти, просмотреть, создать резервную копию, удалить и т. д. - параметры: которые представлены
?componentKey=blue
в этом примере они не всегда являются обязательными, но часто позволяют указать дополнительную информацию, чтобы получить более точные результаты
То, что вы забыли здесь, - это способ указать действие.
http://localhost:9000/api/project_analyses/search?project=myProjectname&category=QUALITY_GATE
Этот запрос возвратил статус моих качественных ворот. Здесь я упомянул имя проекта как myProjectname