在声纳中查找0个实例的规则?

Sam*_*ley 12 sonarqube

TL; DR:基本上我正在寻找的是获得所有引发0个问题的声纳规则列表的方法.然后,我可以将所有这些移动到阻止者,并保护自己免受将来添加该问题的人的影响.

我的公司正在使用声纳和静态分析来帮助指导重构和开发相当大的遗留代码库(~750K LOC).我们通过降低大多数规则的严重性,然后选择一组较小的规则来促进阻止或关键,因为我们在代码中发现了真正的问题,我们取得了很大的成功.这使得我们试图在一段时间内解决的问题数量保持在可控范围内,因此我们实际上可以感觉到我们正在取得进展,而不是淹没在遗留问题的噪音中.

特别是当我们被声纳可能检测到的字段或QA问题所困扰时,我们将该问题转换为BLOCKER并修复其中的每个实例.这些阻塞程序打破了构建,我们现在确信我们不会添加新实例同样的问题.这很有效,并且保留了一些令人讨厌的错误.

这种方法的一个大问题是我们需要在代码库中至少有一次这类错误的例子,这样我们才能知道它很重要,应该成为一个阻塞者.我们尚未遇到的任何问题仍然是默认级别,我现在想把它们全部移到BLOCKER,所以我们注意到它们被添加的日期.

编辑:目前我们正在使用3.7.3,但我们即将升级到5.X.

Tej*_*sad 5

有两种方法可以做到这一点:

1-困难的方法是查询SonarQube数据库.您必须了解这些表并根据您的SonarQube使用哪个DB来编写SQL查询.你可以在这里找到一些参考- 或者在这里

2-我从来没有尝试过你的方法,但它应该工作.您可以使用Sonar Web Service API.您还有一个Web服务Java客户端.参考: link1,link2,link3