【问题标题】:Sonar API call for incremental issues声纳 API 调用增量问题
【发布时间】:2017-08-29 16:24:37
【问题描述】:

Sonar API 允许我们从 SonarQube DB 获取信息。

我们已调用声纳 API 以获取声纳分析中所有 sonarQube 项目的问题。它为所有项目提供了 100 万个问题。我们喜欢从 Sonar 下载所有问题并将其作为一次性活动放入数据库中。

然后继续获取需要通过声纳 API 调用将已解决的问题(增量/增量,其中有问题的变化)。

  1. 我们如何进行第二次调用,该调用按时间戳过滤或在初始加载后更新。
  2. 解决所有问题(100 万)的最佳方式是什么?
  3. 根据我们的观察,Sonar API 大约需要 3 秒才能在单页中提取 500 个问题。有什么办法可以让这个更轻吗?

到目前为止,我们正在使用以下 api 调用进行首次初始加载。 https://devXXXXX.com/sonar/api/issues/search?severities=INFO&asc=true 我们在运行时包含 ps 和 p 以导航到每个页面以获取所有 100 万条记录。

请向我们介绍一下这个 API。

【问题讨论】:

  • 您为此尝试了哪些 API 调用,它们是如何工作或失败的?
  • 我已尝试使用 Sonar API 搜索调用来解决问题。所有项目问题数变为 100 万个,通过以下查询 https://devXXX.com/sonar/api/issues/search?severities=INFO&asc=true 提取。我可以在查询字符串中使用 ps 和 p 导航到页面。但我想知道在后台加载所有问题后如何获取增量数据。
  • 也许你想edit你的问题与这些额外的细节? :-)
  • 是的。我已经用更多信息更新了我的问题。请对此有所了解?

标签: api sonarqube sonar-runner sonarqube-scan


【解决方案1】:
  1. 我们如何进行第二次调用,该调用按时间戳过滤或在初始加载后更新。

    您可以使用以下任何参数拉取新问题:createdAftercreatedAtcreatedInLast,但没有用于区分更新日期的参数

  2. 解决所有问题(100 万)的最佳方法是什么?

    从 SonarQube 6.2 开始,您可以从 Web 服务检索的内容有一个硬性限制:10,000 个问题。 IE。请求 /api/issues/search?ps=500&p=21 将失败,因为这根本不支持使用。

  3. 根据我们的观察,Sonar API 大约需要 3 秒才能在单页中提取 500 个问题。有什么办法可以让这个更轻吗?

    对于其他 Web 服务,我会告诉您使用 f 参数来限制为每条记录检索的字段集,但该参数在问题搜索服务上不可用。所以不,似乎没有办法加快速度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-02
    • 2020-11-14
    • 2012-11-03
    • 2015-12-02
    • 2011-06-15
    • 2019-05-25
    • 1970-01-01
    • 2017-02-28
    相关资源
    最近更新 更多