在 SonarQube 中编写小部件有哪些不同的方法?

What are the different ways to write a widget in SonarQube?

SonarSource 表示他们将在 Rails 上放弃对 Ruby 的支持。因此,假设我们需要从这里开始使用 Web API,那么编写小部件的替代方法是什么?有没有人尝试过其他的写作方式?你如何 link 向 UI 说小部件?

简答

在即将推出的 SonarQube 版本中,将逐步删除小部件和可自定义的仪表板。您仍然可以使用 Web API 获取所需的所有数据,但您将无法对产品的 "dashboards" 做出更改。

长答案

SonarQube 最初旨在能够注入和显示任何类型的信息,这主要归功于可自定义的仪表板和小部件(确实是用 Ruby 编写的)。虽然这有助于普及,但缺点是人们开始将其用作多用途聚合器和报告工具。一个会添加来自错误跟踪系统的信息,另一个会添加有关项目的文档信息,...等等。结果很快,全局和项目仪表板就充满了无用和有用的信息,一切都混在一起一团糟。

因此必须做一些事情才能回到 SonarQube 的目的:管理 源代码 质量。所有不能精确链接到源文件的信息都不应该在 SonarQube 中结束。话虽如此,很明显,拥有一种定义自定义仪表板和小部件的机制太通用了。 Web 应用程序必须提供满足精确受众精确需求的功能。这就是为什么可定制的全局和项目仪表板逐渐被回答这些用例的 "hard-coded" 页面所取代。这始于 SonarQube 5.x 系列中引入的新项目主页,并在最新的 5.6 LTS 中可用。我们将对 6.x 系列中的全局仪表板执行相同的操作。