как получить правила и их параметры со значением 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>

Я вижу это в интерфейсе сонаркуба, и я могу изменить значение параметра из интерфейса. Но, как я уже упоминал, я не мог получить правило и значение параметра из кода. Есть ли у вас какие-либо идеи? Спасибо.


person onua    schedule 14.09.2016    source источник
comment
Какую версию SonarQube вы используете? Какой API вы используете?   -  person Julien L. - SonarSource Team    schedule 15.09.2016
comment
SonarQube 5.4 и зависимость ‹dependency› ‹groupId›org.sonarsource.sonarqube‹/groupId› ‹artifactId›sonar-plugin-api‹/artifactId› ‹version›5.4‹/версия› ‹scope›предоставляется‹/scope› ‹/dependency ›   -  person onua    schedule 21.09.2016


Ответы (1)


Я предполагаю, что вам нужно загрузить конфигурацию правила со сканеров (точка расширения «Датчик»). В этом случае компонент org. sonar.api.batch.rule.ActiveRules должен использоваться и вводиться в датчик.

person Simon Brandhof - SonarSource    schedule 21.09.2016
comment
Я получил это с помощью org.sonar.api.profiles.RulesProfile (rulesProfile .getActiveRulesByRepository();), как вы сказали. Но теперь мне нужны качественные профили. Я могу получить активные правила с параметрами, но я думаю, что приходят только правила, связанные с профилем качества по умолчанию. Как получить активные правила по профилям качества? - person onua; 22.09.2016
comment
Я упомянул не класс RulesProfile, а ActiveRules. Это способ получить действующие правила профилей качества, связанных с текущим проектом. - person Simon Brandhof - SonarSource; 22.09.2016
comment
когда я устанавливаю sonar.profile в файле sonar-project.properties, я могу получить активные правила с этим профилем. Rulesprofile вводится в датчик. rulesProfile .getActiveRulesByRepository(); работает на меня. Спасибо. - person onua; 23.09.2016