Как опросить статус выполнения шлюза качества?

Я хотел бы опросить состояние выполнения шлюза качества моего экземпляра SonarQube 6.3, используя вызов API REST. Я прошел несколько вызовов API, которые не дали мне ожидаемых результатов.

Я пытался использовать эти URL:

  1. HTTP: // локальный: 9000 / API / ресурсы
  2. HTTP: // локальный: 9000 / API / компоненты

Но я всегда получал такой ответ:

{"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,

Итак, мы имеем:

  1. домен: который представлен http://localhost:9000 в данном примере это адрес, по которому вы можете позвонить на сервер SonarQube.
  2. API: который представлен /api в данном примере это базовый путь ко всем веб-сервисам в SonarQube
  3. Контроллер: который представлен /components в этом примере он представляет собой пул веб-службы, относящийся к данной теме (проблемы, профили, компоненты и т. д.)
  4. действие: которое представлено /show в данном примере это единичное действие, которое вы можете выполнить через веб-сервис, например: показать, найти, просмотреть, создать резервную копию, удалить и т. д.
  5. параметры: которые представлены ?componentKey=blueв этом примере они не всегда являются обязательными, но часто позволяют указать дополнительную информацию, чтобы получить более точные результаты

То, что вы забыли здесь, - это способ указать действие.

http://localhost:9000/api/project_analyses/search?project=myProjectname&category=QUALITY_GATE

Этот запрос возвратил статус моих качественных ворот. Здесь я упомянул имя проекта как myProjectname

Другие вопросы по тегам