【问题标题】:Automated creation of new dashboards in SonarQube在 SonarQube 中自动创建新仪表板
【发布时间】:2016-08-20 16:44:56
【问题描述】:

有没有办法通过 web 服务 api 或其他方式在 SonarQube 中自动/脚本创建新仪表板?

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

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

仪表板每次都配置有相同的小部件,但指向不同的分析项目/结果。

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

我们正在使用 SonarQube 5.1。

【问题讨论】:

    标签: sonarqube sonarqube-web


    【解决方案1】:

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

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

    请注意,有两种类型的仪表板:全局仪表板项目仪表板。相应地,仪表板小部件有两种类型:全局和项目。

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

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

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

    编辑

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

    【讨论】:

    • 有没有办法创建一次仪表板并让它指向针对特定分支运行的分析结果?如果这是可能的,那么这正是我正在寻找的,因为我不必在每次添加新分支时都创建新的仪表板?
    • @KevinHooke,是的。也许我的扩展答案会有所帮助。
    • 感谢您的更新,但这听起来像是我现在已经拥有的,使用 sonar.branch 值来区分每个。因此,如果今天我有 Dashboad1(用于 branch1),并且我需要添加 Dasboard2(用于 branch2 中的新工作),那么我有 2 个 Jenkins 作业,1 个针对 branch1 运行分析并由 Dashboard1 报告,1 个针对 brnach2 并由 Dashboard2 报告.不过,我仍然有 2 个仪表板。如果明天我们开始在 branch3 上工作,那么我会针对这个新分支创建另一个仪表板。这是你的建议吗?我想做的是自动创建每个仪表板。
    • 我们中的一个人不理解@KevinHooke。我们应该在 Google 小组中讨论这个问题:groups.google.com/forum/#!forum/sonarqube
    • @Jose 您找不到“管理仪表板”,因为它不再存在。仪表板已被删除
    猜你喜欢
    • 2016-09-21
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    • 2017-07-31
    • 1970-01-01
    • 2012-06-15
    相关资源
    最近更新 更多