2016-09-14 58 views
1

我试图发展声纳插件。但我不能用params来得到规则。 这里我的自定义规则。如何获取规则和他们的价值sonarqube插件api

<?xml version="1.0" encoding="UTF-8"?> 
<rules> 
    <rule> 
     <key>custom-rule-key</key> 
     <name>custom rule</name> 
     <configKey>custom-rule-key</configKey> 
     <description>this is custom rule</description> 
     <priority>MINOR</priority> 
     <param> 
      <key>the-param-key</key> 
      <tag>style</tag> 
      <tag>security</tag> 
      <description> 
      <![CDATA[the param-description]]> 
      </description> 
      <defaultValue>42</defaultValue> 
     </param> 
    </rule> 
</rules> 

我可以在sonarqube界面上看到它,我可以从接口更改参数值。但正如我所提到的,我无法达到代码的规则和参数值。你有什么主意吗? 谢谢。

+0

您使用的是哪个版本的SonarQube?你在使用哪种API? –

+0

SonarQube 5.4和依赖 \t \t \t org.sonarsource.sonarqube \t \t \t 声纳插件-API \t \t \t 5.4 \t \t \t 提供 \t \t onua

回答

1

我想你需要从扫描仪(“传感器”扩展点)加载规则配置。在这种情况下,组件org.sonar.api.batch.rule.ActiveRules必须使用并注入您的传感器。

+0

我org.sonar.api.profiles.RulesProfile(rulesProfile \t \t \t \t .getActiveRulesByRepository(”“);)得到它像你说的。但现在我需要质量配置文件。我可以通过参数获得有效的规则,但是我认为只有规则会记录到默认质量配置文件即将到来。如何通过q​​uaility配置文件获取活动规则? – onua

+0

我没有提到类RulesProfile,但ActiveRules。这是获得与当前项目相关的质量配置文件的有效规则的方法。 –

+0

当我在sonar-project.properties文件中设置sonar.profile时,我可以通过此配置文件获得活动规则。 Rulesprofile注入传感器。 rulesProfile .getActiveRulesByRepository(“”);正在为我工​​作。谢谢。 – onua

相关问题