2016-03-09 4 views
1

Я пытаюсь создать собственное правило XPath с API-интерфейсом Sonar, но у меня есть проблема при добавлении параметров.Создание пользовательских правил с параметрами через API

Вот мой HTTP запрос:

http.sendPostRequest("http://localhost:9000/api/rules/create" 
      + "?custom_key=test" 
      + "&markdown_description=test" 
      + "&name=test" 
      + "&params=expression=test;filePattern=test;message=test" 
      + "&severity=BLOCKER" 
      + "&template_key=xml:XPathCheck"); 

Я получаю код 200 и правило создается в Sonar, за исключением параметров «Титулы» являются пустыми.

Я проверил документацию API, он говорит, что он должен быть чем-то вроде «params = key1 = v1; key2 = v2», он соответствует этому формату, но все еще не работает.

ответ

1

Невозможно использовать ключ, который уже использовался другим ключом, даже если это правило удалено. Вам нужно добавить параметр prevent_reactivation = true, чтобы сбой, если правило уже существует с этим ключом.

+0

Спасибо! Но все-таки, есть способ переопределить/стереть удаленное правило? Может быть, с обновлением POST? – Ivaprag

+0

Нет, ничего не может быть сделано по удаленным правилам. Вам нужно использовать другой ключ, если тот, который вы выбрали, уже существует. –

1

Итак, я обнаружил, что если вы создаете новое правило с тем же ключом, что и ранее удаленное правило, оно восстанавливает его параметры.

Для моего случая я попытался создать правило с ключом «тест», но до этого я создаю и удаляю правило «тест» без параметров. Похоже, что у Sonar есть своего рода кеш.

+0

Я не могу воспроизвести эту ошибку, какую версию SonarQube вы используете? –

+0

Я использую 4.5.6 – Ivaprag

+0

Это очень странно, из-за 4.5.6 я попытался создать собственное правило «test», удалить его и заново создать, и у меня есть следующее сообщение «A правило с тем же ключом было ранее удалено. Повторите активацию существующего правила или измените ключ для создания нового правила. ". –

Смежные вопросы