【问题标题】:Rest api to get issues count based on rules for a project in SonarRest api 根据 Sonar 中项目的规则获取问题计数
【发布时间】:2018-04-15 00:19:19
【问题描述】:

我想知道如何根据给定项目的规则通过 REST API 获取声纳中的问题计数。

谢谢, 阿拉文

【问题讨论】:

    标签: sonarqube devops sonarqube6.3


    【解决方案1】:

    可以回答此类查询的 REST API 端点是 api/issues/search

    例如,给定一个项目的$KEY,您可以使用curljq 工具找到问题的数量,如下所示:

    curl "yourserver/api/issues/search?componentKeys=$KEY&ps=1" | jq .total
    

    即:

    • componentKeys参数中设置项目密钥
    • 使用最小页面大小和ps=1来最小化输出

    这将返回一个问题,感谢ps=1, 但在 JSON 响应中,您应该会看到 total 字段,其中包含问题总数。

    jq 工具将为您提供单个数字的干净输出,如果您没有它,您可以简单地获取响应的head,该值应该在顶部附近很容易看到,例如:

    $ curl "yourserver/api/issues/search?componentKeys=$KEY&ps=1" | jq .total
    {
      "total": 12,
      "p": 1,
      "ps": 1,
      "paging": {
        "pageIndex": 1,
        "pageSize": 1,
        "total": 12
      },
      "issues": [
    

    (在此示例中,项目中有 12 个问题。)

    【讨论】:

      【解决方案2】:

      在 SonarQube UI 的每个页面的页脚中,您都会找到指向您的版本的 API 文档的链接。查看issues/search,您可以通过componentKeys(项目ID)对其进行限定。在响应 JSON 中(您可以在板载文档中查看示例)查看 paging.total

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多