通过插件创建的规则在质量配置文件中未激活

Rules created via plugin are not active in Quality Profile

我正在测试为自定义语言创建 Sonarqube 插件。 我按照 Sonar 的示例 (https://github.com/SonarSource/sonar-examples/tree/master/plugins/sonar-example-plugin/src/main/java/org/sonarsource/plugins/example) 定义了语言、质量配置文件和一组规则(使用 NewRepository 和 NewRule)。

当我转到 UI 时,我看到了语言、质量配置文件和规则,但是所有规则都处于非活动状态(在质量配置文件中它们被列为非活动状态)并且在规则中我只能看到如果我按不活动过滤它们。

当我打开规则时,规则详细信息页面中的项目 "Quality Profile" 为空,但当我按自定义质量配置文件过滤时,规则列表。

我没有看到任何激活它们的方法,UI 也没有使用代码。

我更愿意使用代码,我搜索了很多示例,但找不到缺少的内容。

规则页面上列出了开启规则的能力。只有 Sonar 中的管理员可以 'Activate' 质量配置文件中的规则。每种语言都有默认的质量配置文件。仔细查看底部的 SonarQube 中的规则以查看激活 link.

确实,sonar-examples 不是最新的,也没有激活任何规则。我在以下提交中修复了此问题:https://github.com/SonarSource/sonar-examples/commit/2cdcc48236fae294d750ca25b575222eb2b40b47.

在您的插件中,您需要激活 FooQualityProfile 中的一些规则(请参阅此处的操作方法:https://github.com/SonarSource/sonar-examples/commit/2cdcc48236fae294d750ca25b575222eb2b40b47#diff-7d0f822469998cf7d71a3e3da3972e8cR40