0

我正在尝试找到一种方法,从带有描述的特定配置文件中获取所有 Sonarqube 规则的列表,并将其导出为 Excel、csv 或 xml。我可以使用 Quality Profiles 下的 Permalinks 选项将列表导出到 xml 并转换为 excel,但这仅提供有关与每个规则关联的优先级、密钥、语言和配置文件名称的详细信息,而不提供任何类似于规则描述的信息。

我在论坛上找到了以下问题,其中概述了下载 xml 文件的步骤,其中列出了详细信息,但没有按要求进行描述

从 Sonarqube 导出编码规则列表

我还发现了这个问题,它也询问了关于如何获取每条规则的描述的相同问题,但无法获得所需的详细信息

带有描述的声纳质量配置文件规则导出

我能够运行上一个链接中提供的命令,通过从 Quality Profiles 部分的永久链接下获得的 xml 中引用 repositoryke​​y 和 key_name 来获得一些所需的结果

curl -X GET -v -u admin:admin " http://[Sonarservername]:[port]/api/rules/show?key=[repositoryke​​y]:[key_name] " --output file.xml

此命令提供所需的结果(规则描述),但需要更改每个规则的存储库密钥和密钥名称。这是不可行的,因为我需要超过 550 条规则的描述

获取描述/规则描述文本需要什么?

请帮忙。

4

2 回答 2

8

如果我的理解是正确的,那么 /api/rules/search 网络服务应该可以满足您的需求。有关 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

于 2016-08-18T16:47:37.610 回答
3

我在使用 SONAR 4.5.6 和 Sonar 7.3 时遇到过这个问题,但我将通过 API 获取所有信息。

为了获得规则,我需要 Quality Profile 密钥:

额外参数:

1 - qprofile:QP 的密钥

2 - ps:每页获取的规则数。

3 - 语言:配置文件的语言

4 - 激活:true,需要使用 qprofile 参数

所有这些 API 调用都以 JSON 格式返回所有信息。

最后为了将此 JSON 转换为 Excell,我使用了这样的在线转换器

http://www.convertcsv.com/json-to-csv.htm

复制并粘贴您的 JSON 并选择您的覆盖选项,注意输出选项(输出字段分隔符),选择“;” 并单击 JSON to excel 选项。

于 2018-11-23T13:37:34.410 回答