создать проект для sonarqube с rest-api / web-api

мы пытаемся автоматизировать создание проектов (включая управление пользователями / группами) в sonarqube, и я уже нашел документацию по Web-API в нашем sonarqube 5.6-Installation. Но если я попытаюсь создать проект со следующими настройками

JSON-файл create-project.json:

{"key": "test1", "name": "Testprojekt1"}

завиток-запрос

curl --noproxy '*' -D -X POST -k -u admin:admin -H 'content-type: application/json' -d create_project.json http://localhost:9000/api/projects/create

Я получаю сообщение об ошибке:

{"err_code":400,"err_msg":"Missing parameter: key"}

Это немного странно, потому что если я попробую, например, URL:

http://localhost:9000/api/projects/index

Я получаю список проектов, которые создал вручную, и если я попробую сделать запрос типа

curl -u admin:admin -X POST 'http://localhost:9000/api/projects/create?key=myKey&name=myProject' 

он тоже работает, но я хотел бы использовать новый api, потому что похоже, что он поддерживает гораздо больше функций, чем API 4.X от sonarqube. Может быть, кто-то здесь может помочь мне с этой проблемой, если бы был очень признателен за каждый полезный совет. С уважением, Дэн


person Community    schedule 24.06.2016    source источник
comment
О каком новом API вы говорите? Если вы посмотрите на sonarqube.com/web_api/api/projects, вы увидите, что там всего 1 API для создания проектов, и он был введен в SQ 4.0   -  person Fabrice - SonarSource Team    schedule 24.06.2016
comment
Это именно тот API, который вы указываете в своем комментарии, возможно, мне просто нужен пример, как я могу создать проект / группу / с этим api. Потому что я не понимаю, как перенести знания из документации на рабочий пример ...   -  person    schedule 24.06.2016
comment
Способ сделать это - именно последняя команда, которую вы указали в своем вопросе, не больше и не меньше.   -  person Fabrice - SonarSource Team    schedule 24.06.2016


Ответы (1)


Я нашел этот вопрос, потому что получил такое же сообщение об ошибке «Параметр отсутствует».

Итак, чего мы оба не понимали: SQ API ожидает параметры как простые параметры URL, а не как параметры в формате json, как это делают сегодня большинство REST API.

PS: Было бы неплохо, если бы это можно было добавить в документацию SQ.

person Horst Krause    schedule 01.06.2017