我正在尝试找到一种方法,从特定的配置文件中获取所有Sonarqube规则列表,并将其导出为Excel,csv或xml。 我可以使用质量配置文件下的永久链接选项将列表导出到xml并转换为excel,但这仅提供与每个规则关联的priorty,key,language和profile name的详细信息,而不是规则的描述。
我在论坛上发现了以下问题,其中列出了下载xml文件的步骤,其中列出了详细信息但未按要求进行描述
Export list of coding rules from Sonarqube
我还发现了这个问题,该问题也提出了关于如何获取每条规则的说明但无法获得所需细节的相同问题
sonar quality profile rule export with descrption
我能够运行上一个链接中提供的命令,通过引用“质量配置文件”部分中永久链接下获取的xml中的repositorykey和key_name来获取一些必需的结果
curl -X GET -v -u admin:admin" http://[Sonarservername]:[port]/api/rules/show?key=[repositorykey]:[key_name]" --output file.xml
此命令提供所需的结果(规则说明),但是需要更改每个规则的repositorykey和key_name。 这是不可行的,因为我需要超过550条规则的描述
获取描述/规则描述文本需要什么?
请帮忙。
答案 0 :(得分:8)
如果我的理解是正确的,/ api / rules / search web服务应该满足您的需求。有关Java规则的列表,请参阅https://sonarcloud.io/api/rules/search?languages=java。
API支持此处记录的许多参数:https://sonarcloud.io/web_api/api/rules/search(单击水平线上方的参数标题以打开说明)。
例如,rule_key参数可以搜索特定规则。要查找有关S2065规则的信息(非可序列化类中的字段不应为“瞬态”),您可以使用:https://sonarcloud.io/api/rules/search?rule_key=squid:S2065
答案 1 :(得分:2)
我在SONAR 4.5.6和Sonar 7.3上遇到了这个问题,但是我将通过API获取所有信息。
为了获取规则,我需要“质量配置文件”密钥:
声纳SONAR 4.5.6
1-转到“质量配置文件(QP)”页面,然后从您的URL获取密钥:
示例: http://sonar_host:port/sonar/profiles/show?key=java-sonar-way-45044
2-获取密钥并调用API。
对于SONAR 7.3,您需要内部质量配置文件密钥
1-在我的情况下(按声纳方式),调用API以按名称获取QP:
http://sonar_host:port/api/qualityprofiles/search?qualityProfile=Sonar%20way
就我而言(AWYRSVFJNN_Bjog4uKk1)
2-获取您的QP密钥并获取规则
额外参数:
1-qprofile:QP的密钥
2-ps:每页要获取的规则数。
3-语言:个人资料的语言版本
4-激活:true,需要使用qprofile参数
所有此API调用均以JSON格式返回所有信息。
最后要将这个JSON转换为Excell,我使用了这样的ONLINE转换器
http://www.convertcsv.com/json-to-csv.htm
复制并粘贴JSON并选择掩盖选项,请谨慎使用输出选项(输出字段分隔符),然后选择“;”然后单击“ JSON转换为excel”选项。