在 SonarQube 中自动创建新的仪表板

Automated creation of new dashboards in SonarQube

有没有办法 automate/script 通过网络服务 api 或其他方式在 SonarQube 中创建新的仪表板?

我需要为每个未来版本创建仪表板(第 1 版仪表板、第 2 版仪表板等),其中每个版本都作为 RTC 中的流处理。如果分析 运行 是针对主干的,这会更容易,但这不是当前使用 branch/stream 策略构建项目的方式。

目前,随着我们转向未来 Stream 中正在开发的新版本,我需要在 Jenkins 中重新创建一个分析作业,并针对该分析创建一个新的仪表板。

仪表板每次都配置了相同的小部件,但指向不同的分析 project/results。

有什么方法可以自动创建新的仪表板吗?我看到有一个 GET api/dashboards/show 但我正在寻找的是要创建的 api 或从现有仪表板克隆?

我们正在使用 SonarQube 5.1。

项目级仪表板是一个模板,在您导航到它时会填充每个项目的数据。您创建一次,它会自动应用于每个项目。

在我看来,您将要分析项目的分支。只要您通过为每个设置一个唯一的 sonar.branch 值来区分它们,其余的就应该可以正常工作。每个分支都将在 SonarQube 中显示为一个独特的 "project" - 具有与所有其他项目相同的所有功能、导航和仪表板。

请注意,有两种类型的仪表板:全局仪表板项目仪表板。相应的,dashboard widget有两种类型:global和project。

您可以将任一类型的小部件放在任一类型的仪表板上,但如果您将项目小部件放在全局仪表板上,它会让您配置一个项目 - 因为它不能只选择它应该选择的项目从上下文中显示。

不过,将它放在项目仪表板上,它会自动显示当前项目的数据。

要在版本 5.1.2 中创建项目仪表板,首先导航到一个项目,然后更多 > 管理仪表板。在那里,您将能够使用项目级小部件创建、配置和共享项目级仪表板,这些小部件仅自动显示来自当前项目上下文的数据。

编辑

请注意,仪表板已在 6.2 中删除,因此以上说明仅适用于该版本之前的版本。