通过API使用params创建自定义规则

时间:2016-03-09 15:22:59

标签: api post sonarqube sonarqube-4.5

我正在尝试使用Sonar API创建XPath自定义规则,但在添加参数时出现问题。

这是我的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中创建,但参数“params”为空。

我已经检查了API的文档,它说应该是类似“params = key1 = v1; key2 = v2”,它符合这种格式但仍然不起作用。

2 个答案:

答案 0 :(得分:1)

因此,我发现如果您使用与先前删除的规则相同的密钥创建新规则,则会恢复其参数。

对于我的情况,我尝试使用键“test”创建一个规则,但在此之前,我创建并删除了一个没有参数的规则“test”。似乎Sonar有某种缓存。

答案 1 :(得分:1)

即使删除此规则,也无法使用已被其他密钥使用的密钥。 您需要添加参数prevent_reactivation = true,以便在此密钥已存在的情况下失败。