2016-09-14 6 views
1

私はソナープラグインを開発しようとしています。しかし、私はparamsでルールを得ることができませんでした。 ここに私のカスタムルール。値を持つルールとそのパラメータを取得する方法sonarqube plugin 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インターフェイスで見ることができ、私はインターフェイスからparam値を変更できます。しかし、私が言及したように、私はコードからparamのルールと値に達することができませんでした。あなたは何か考えていますか?おかげさまで

+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(」「);)でそれを得たあなたが言ったように。しかし、今私は質の高いプロファイルが必要です。私はパラメータでアクティブなルールを得ることができますが、私はルールのルールだけがデフォルトの品質プロファイルに来ていると思う。どのようにquailityプロファイルによってアクティブなルールを取得するには? – onua

+0

クラスRulesProfileではなくActiveRulesについて言及しませんでした。これが、現在のプロジェクトに関連付けられている品質プロファイルの有効なルールを取得する方法です。 –

+0

sonar.profileをsonar-project.propertiesファイルに設定すると、このプロファイルでアクティブなルールを取得できます。 Rulesprofileはセンサーに注入されます。 rulesProfile .getActiveRulesByRepository( "");私のために働いています。ありがとうございました。 – onua

関連する問題