2016-04-26 56 views
0

有沒有一種方法可以通過webservice API或其他方式自動化/腳本創建SonarQube中的新儀表板?在SonarQube中自動創建新儀表板

我需要在將來的版本中創建儀表板(版本1的儀表板,版本2的儀表板等),其中每個版本都作爲RTC中的Stream工作。如果分析是針對主幹進行的,這樣會更容易,但這不是目前如何使用分支/流策略來構建項目。

當前,隨着我們轉向正在未來Stream中工作的新版本,我需要在Jenkins中重新創建分析作業,並根據該分析創建一個新的Dashboard。

儀表板每次都配置相同的小部件,但指向不同的分析項目/結果。

有沒有一種方法可以自動創建新的儀表板?我看到有一個GET api/dashboards/show,但是我正在尋找的是從現有儀表板創建或克隆的api?

我們使用的是SonarQube 5.1。

回答

1

項目級儀表板是一個模板,當您導航到它時,會填充每個項目的數據。您創建一次,並自動適用於每個項目。

這聽起來像你會分析一個項目的分支。只要您通過爲每個值設置唯一的值sonar.branch來區分它們,其他值就可以正常工作。每個分支將在SonarQube中顯示爲一個獨特的「項目」 - 具有與其他所有項目相同的功能,導航和儀表板。

請注意,有兩種類型的儀表板:全球儀表板項目儀表板。相應地,有兩種類型的儀表板小部件:全局和項目。

您可以將任一類型的控件放在任一類型的控制面板上,但是如果您將項目控件放置在全局控制面板上,它會讓您配置一個項目 - 因爲它不能僅僅拾取它應該顯示的項目從上下文。

不過,將它放在項目儀表板上,它會自動顯示當前項目的數據。

要在版本5.1.2中創建項目儀表板,請先導航到一個項目,然後更多>管理儀表板。在那裏,您將能夠創建,配置和共享具有項目級窗口小部件的項目級儀表板,只需自動顯示當前項目上下文中的數據即可。

編輯

注意儀表盤在6.2被拆除,所以上面的方向是隻爲早於該版本有關。

+0

有沒有辦法一次創建儀表板並讓它指向針對特定分支的運行的分析結果?如果這可能,那麼這就是我正在尋找的東西,因爲每次添加新分支時我都不必創建新的儀表板。 –

+0

@KevinHooke,是的。也許我的擴展答案將有所幫助。 –

+0

感謝您的更新,但這聽起來像我現在已經有了,使用sonar.branch值來區分每個。因此,如果今天我有Dashboad1(用於branch1),並且我需要添加Dasboard2(用於branch2中的新工作),那麼我有2個Jenkins作業,1針對branch1運行分析並由Dashboard1報告,1針對brnach2並由Dashboard2報告。儘管我仍然有2個儀表板。如果明天我們開始在branch3上工作,那麼我會針對這個新分支創建另一個儀表板。這是你的建議嗎?我想要做的是自動創建每個儀表板。 –