You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SonarQube Web API获取spoon-core项目的完整BUG列表?

解决SonarQube API获取全部BUG的问题

你遇到的这个问题其实是SonarQube Web API的默认分页机制导致的——它默认每页只返回100条结果,所以你只拿到了第一页的BUG,没获取到全部189个。下面给你两种实用的解决办法:

方法一:通过分页参数遍历所有页面

SonarQube API支持p(指定页码)和ps(指定每页条数)两个分页参数,你可以按照以下步骤操作:

  1. 先发送一次请求获取总BUG数量:
    GET https://sonarqube.ow2.org/api/issues/search?componentKeys=fr.inria.gforge.spoon:spoon-core&types=BUG&ps=1
    
    从返回的JSON响应里找到total字段,它会告诉你总共有多少个BUG(这里是189)。
  2. 根据总数量和每页条数(默认最大100)计算需要请求的页数,然后依次请求每一页:
    • 第一页请求:
      GET https://sonarqube.ow2.org/api/issues/search?componentKeys=fr.inria.gforge.spoon:spoon-core&types=BUG&ps=100&p=1
      
    • 第二页请求:
      GET https://sonarqube.ow2.org/api/issues/search?componentKeys=fr.inria.gforge.spoon:spoon-core&types=BUG&ps=100&p=2
      
    最后把两次请求返回的issues数组合并起来,就是全部的BUG数据了。

方法二:直接设置足够大的每页条数参数

如果总BUG数量不多(比如这里的189),你可以直接设置一个大于总数量的ps值,一次性获取所有结果:

GET https://sonarqube.ow2.org/api/issues/search?componentKeys=fr.inria.gforge.spoon:spoon-core&types=BUG&ps=200

注意:SonarQube通常对ps参数有最大限制(默认是1000),只要你的总BUG数量不超过这个限制,这种方法就可以直接生效。

如果不确定参数限制,你可以查看响应里的paging字段,里面会详细显示总数量、当前页码、每页条数和总页数等信息,帮你调整请求参数。

内容的提问来源于stack exchange,提问作者Ashutosh Kumar Verma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:10:36