2017-01-30 2 views
2

Я пытаюсь восстановить профиль качества на новой установке SonarQube v.5.6.4 через веб-API с помощью curl.SonarQube 5.6 восстановить профиль качества

В c: \ temp У меня есть экспортированный профиль «Sonar way» из запуска Sonar, и я переименовал его в test.xml (внутри имя также было изменено для проверки, чтобы оба профиля были «разными»).

От C: местоположение \ TEMP, я использовал следующий завиток команду:

curl -v -X POST -u admin:admin --header "Content-Type: application/xml" 
    "http://localhost:9000/api/qualityprofiles/restore" -d backup=test.xml

Ответ был:

500 Internal Server Error If you are the administrator of this website, 
then please read this web application's log file to find out what went wrong.

Независимо от того, как я изменил завиток-команду (с различным содержанием -types с параметром -F, с именем @ перед именем файла), я не смог решить эту проблему.

Кроме того, я проверил журналы сонара которые выглядят следующим образом:

2017.01.30 14:13:14 ERROR web[rails] /!\ FAILSAFE /!\ Mon Jan 30 14:13:14 +0100 2017 
    Status: 500 Internal Server Error 
    undefined method `name' for nil:NilClass 
    C:/bin/sonarqube-5.6.4/web/WEB-INF/gems/gems/activesupport-2.3.15/lib/active_support/xml_mini/rexml.rb:29:in `merge_element!' 
    C:/bin/sonarqube-5.6.4/web/WEB-INF/gems/gems/activesupport-2.3.15/lib/active_support/xml_mini/rexml.rb:18:in `parse' 
    org/jruby/RubyKernel.java:2227:in `send' 
    C:1:in `parse' 
    C:/bin/sonarqube-5.6.4/web/WEB-INF/gems/gems/activesupport-2.3.15/lib/active_support/core_ext/hash/conversions.rb:171:in `from_xml' 
    C:/bin/sonarqube-5.6.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/params_parser.rb:34:in `parse_formatted_parameters' 
    C:/bin/sonarqube-5.6.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/params_parser.rb:11:in `call' 
    file:/C:/bin/sonarqube-5.6.4/lib/server/jruby-rack-1.1.13.2.jar!/jruby/rack/session_store.rb:70:in `context' 
    C:/bin/sonarqube-5.6.4/web/WEB-INF/gems/gems/rack-1.1.6/lib/rack/session/abstract/id.rb:58:in `call' 
    C:/bin/sonarqube-5.6.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/failsafe.rb:26:in `call' 
    C:/bin/sonarqube-5.6.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/dispatcher.rb:106:in `call' 
    file:/C:/bin/sonarqube-5.6.4/lib/server/jruby-rack-1.1.13.2.jar!/rack/adapter/rails.rb:34:in `serve_rails' 
    file:/C:/bin/sonarqube-5.6.4/lib/server/jruby-rack-1.1.13.2.jar!/rack/adapter/rails.rb:39:in `call' 
    file:/C:/bin/sonarqube-5.6.4/lib/server/jruby-rack-1.1.13.2.jar!/rack/handler/servlet.rb:22:in `call'

Есть ли что-то не так с версией 5.6.4?

Заранее благодарим за любые отзывы.

ответ

2

Ответ на мою проблему была эта команда:

curl -v POST -u admin:admin "http://localhost:9000/api/qualityprofiles/restore" 
--form [email protected]

Похоже, я не пробовал эту комбинацию раньше.

Ответ был 200 OK:

 
HTTP/1.1 100 Continue 
HTTP/1.1 200 OK 
Server: Apache-Coyote/1.1 
Set-Cookie: JSESSIONID=A20898D27A0D843EEC6ED9791CABEB49; Path=/; HttpOnly 
X-Runtime: 265 
ETag: "7cce49c3a8a16a16c8c48cc4942df042" 
Cache-Control: no-cache, no-store, must-revalidate 
X-Frame-Options: SAMEORIGIN 
X-XSS-Protection: 1; mode=block 
X-Content-Type-Options: nosniff 
Content-Type: application/json;charset=utf-8 
Content-Length: 166 
Date: Mon, 30 Jan 2017 14:19:51 GMT
1

Если у вас есть все файлы резервных копий вашей XML в одном каталоге, вы можете восстановить все из них, используя только одну команду таким образом:
C:> для /Р . % 1 IN (* .xml) DO curl.exe -v -x POST -u администратора: admin_password "http://your_server:9000/sonar/api/qualityprofiles/restore" --form резервного копирования = @% 1

Приветствия

Massimo

Смежные вопросы