SonarQube 6.7.6:如何通过Web API获取规则扩展描述?
获取SonarQube 6.7.6规则扩展描述的正确姿势
在SonarQube 6.7.6版本中,api/rules/show接口确实可以返回规则的扩展描述,但你需要注意几个关键细节,不然可能会看不到这部分内容:
传递正确的请求参数
默认情况下,api/rules/show可能不会返回完整的描述内容,你需要显式指定格式参数,同时确保规则key准确无误。比如调用:GET /api/rules/show?key=你的规则唯一标识&format=html这里的
format=html会让接口返回包含基础描述和扩展描述的完整HTML内容,规则key通常是类似java:S1192这样的格式。针对第三方插件规则的额外参数
如果你的规则是第三方插件提供的自定义规则,还需要添加include_external=true参数——因为默认接口不会返回外部规则的完整描述:GET /api/rules/show?key=自定义规则key&format=html&include_external=true先确认Web界面的规则状态
先去SonarQube后台的Web界面打开该规则的详情页,确认"Extended Description"部分确实存在内容。如果Web界面里都没有扩展描述,那API自然也返回不了对应的内容。检查响应字段的完整内容
扩展描述不会单独作为一个字段返回,而是直接包含在htmlDesc字段的HTML内容里。你可以查看htmlDesc的完整文本,通常扩展描述会在基础描述之后,用类似<h2>Extended Description</h2>的标签作为分隔。
如果按上述步骤操作后还是看不到扩展描述,你可以尝试切换格式参数获取markdown格式的完整描述,再自行转换为HTML:
GET /api/rules/show?key=你的规则唯一标识&format=markdown
对应的内容会在mdDesc字段中,里面包含了完整的基础描述+扩展描述内容。
内容的提问来源于stack exchange,提问作者Remi Patriarche
相关产品推荐
相关产品推荐

