1
我有声呐3.7.x的规则集备份,并且想要导入声呐5.2。此规则集具有PMD,CheckStyle和Findbugs的规则。当我尝试通过GUI时,导入没有任何错误,但没有导入规则(0规则)。然后我尝试使用curl导入规则集的Sonar API。尽管结果(ruleFailures:600)显示在XML中没有导出600个规则中的任何规则(与GUI的行为相同),但此命令也会成功。无法在声呐中导入质量配置文件规则集5.2
-bash-4.1$ curl -X POST -u admin:admin -F "[email protected]_standard_java_600.xml" -v http://XX.XX.40.70:9080/api/profiles/restore
* About to connect() to XX.XX.40.70 port 9080 (#0)
* Trying XX.XX.40.70... connected
* Connected to XX.XX.40.70 (XX.XX.40.70) port 9080 (#0)
* Server auth using Basic with user 'admin'
> POST /api/profiles/restore HTTP/1.1
> Authorization: Basic YWRtaW46YWRtaW4=
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.3.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: XX.XX.40.70:9080
> Accept: */*
> Content-Length: 105883
> Expect: 100-continue
> Content-Type: multipart/form-data; boundary=----------------------------b413fb6533eb
>
< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: JSESSIONID=CE9FC5FE32939BE5ECC4FC64324B238D; Path=/; HttpOnly
< X-Runtime: 16162
< ETag: "c48a79cd01c8066aa814d5755e0c29ed"
< Cache-Control: private, max-age=0, 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: 194
< Date: Wed, 02 Dec 2015 15:16:15 GMT
<
* Connection #0 to host XX.XX.40.70 left intact
* Closing connection #0
{"profile":{"key":"java-my-standard-63451","name":"My Standard","language":"java","isDefault":false,"isInherited":false,"languageName":"Java"},"ruleSuccesses":0,"ruleFailures":600}
我比较了我的文件声纳路的Java规则的出口,我不发现XML格式可能从3.x版变更为5.x的任何声纳专家都可以帮助解决这个问题吗?
您是否安装了Checkstyle,PMD和FindBugs插件? IIRC,他们是3.2的一部分,但事实不再是这样。 –
非常感谢G.Ann,事实上这一直是问题所在。我安装了所有这些插件,因为它们不再支持Squid。而且导入工作,但有一部分Sonar有点恼人,不能暗示我不导入规则的真正原因;) – dchucks