【问题标题】:How to get more than 500 issues from SonarQube api如何从 SonarQube api 获取超过 500 个问题
【发布时间】:2018-06-02 01:18:06
【问题描述】:

我在 java 工具中使用 SonarQube API 来处理问题并向它们添加 cmets/更改问题状态(例如,不会修复)

api/issues/search 函数的页面大小限制为最大 500。我有 500 多个问题,需要阅读此内容。我想过执行多个查询,但问题键不是数字的,所以我不能只增加并在下一个 500 上执行查询。

有什么方法可以处理来自 API 的 500 多个问题?我认为一种解决方法是从 api 获取问题键列表并批量查询,但这似乎不可能。

【问题讨论】:

  • 作为最后的手段,您可以查询数据库。
  • 你到底想做什么?您如何决定需要更新哪些问题?
  • @JulienL.-SonarSourceTeam 我使用插件从 Sonarqube 中的外部工具提出了问题。然后,我尝试在这些问题上执行一些不同的任务。例如,来自外部工具的问题可能设置为“忽略”,它松散地映射到 SonarQube“不会修复”,所以我得到了我提出的所有声纳问题(在我的标签上过滤)检查外部工具是否问题是“忽略”,如果是这样,请将声纳问题更改为“无法修复”。问题是我只能从 sonarqube 获得 500 个问题。
  • 好的,我已经添加了关于我建议你做什么的回复

标签: sonarqube


【解决方案1】:
  • 简短回答:不,在一次 Web 服务调用中不可能得到超过 500 个问题。

  • 长答案:您应该尝试使用在每个项目分析时触发的hook(通过使用插件或使用网络挂钩)=> 然后您将能够使用分页浏览所有项目的问题:api/issues/search?componentKeys=PROJECT_KEY&ps=500&p=1,然后是api/issues/search?componentKeys=PROJECT_KEY&ps=500&p=2,等等。

    可以在响应中的“分页”->“总计”下找到项目总数。

【讨论】:

  • "total" 是项目数,而不是页数
猜你喜欢
  • 1970-01-01
  • 2019-01-22
  • 1970-01-01
  • 2015-04-30
  • 2021-11-11
  • 1970-01-01
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
相关资源
最近更新 更多