通过 API 创建带有参数的自定义规则

Create custom rules with params through API

我正在尝试使用 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"这样的格式,符合这个格式,但还是不行。

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

对于我的情况,我尝试使用键 "test" 创建规则,但在此之前,我创建和删除了不带参数的规则 "test"。 Sonar 似乎有某种缓存。

无法使用已被另一个密钥使用的密钥,即使删除此规则也是如此。 您需要添加参数 prevent_reactivation=true 才能在使用该键的规则已存在时失败。