SonarQube - 基于定义的正则表达式的规则。

时间:2017-10-26 18:28:28

标签: sonarqube

SonarQube是否有一条规则可以扫描文件内容以获取相关表达式,如果在扫描过程中发现该规则会标记为问题?

实施例: 我想要一个规则,它将扫描每个文件中的“AcmeProducts”一词,如果找到则将其标记为“严重”。

由于 杰森

3 个答案:

答案 0 :(得分:0)

我不确定这样的规则是否存在。 您可以实现自定义插件来提供此类规则。

与你需要的东西非常接近的是Xoo插件的HasTagSensor,它不是真正的插件,而是一个演示和测试插件API功能的示例。 我链接的HasTag规则实现会针对某些已配置字符串(不是正则表达式)的每次出现引发问题。 基于此,您可以实现使用正则表达式参数而不是字符串的规则。

答案 1 :(得分:0)

我能够通过在sonarqube中基于评论模式匹配器规则创建自定义规则来实现此目的。

答案 2 :(得分:0)

我认为您要寻找的是在声纳检查样式插件中实现的。

要配置这样的规则:

  1. 安装声纳checkstyle插件。要遵循的说明是 在此处提供的声纳checkstyle插件GitHub页面上: https://github.com/checkstyle/sonar-checkstyle
  2. 重新启动声纳实例以使新插件可用
  3. 使用以下菜单序列配置新规则:
    • “质量资料”
    • 选择要修改的质量配置文件
    • 在规则列表中,选择“激活更多”
    • 在“存储库”部分中,选择“ checkstyle”以过滤checkstyle的插件规则
    • 选择规则模板“ Regexp Singleline”,然后基于正则表达式创建一个新规则,以检测到您的禁止关键字。