簡體   English   中英

如何為新的聲納項目設置非默認質量門

[英]How to set non-default quality gate for new sonar projects

我們使用jenkins,sonarqube 5.5,maven和git。 當開發人員創建一個新的git分支並推送它時,jenkins也會對分支進行分析,因此開發人員可以在合並之前修復所有內容。 為了避免這種開發分支分析與主分支分析混合,jenkins將分支名稱傳遞給分析。 導致sonarqube為每個分支創建一個新項目。 到目前為止還可以。

但最近我們從所有項目的一個默認質量門切換到正在開發的項目和剛剛維護的項目的不同質量門。

那么我們如何在為新分支創建新項目時告訴聲納哪個質量門要使用? 在某些版本之前,有一個可以設置的sonar.qualitygate屬性。 但現在這已被棄用了。 那么為新創建的項目定義適當質量門的新方法是什么?

您可以使用Sonar提供的其余api。

步驟1.創建門

        def result = ["curl", "--user", auth, "-X", "POST", "-H", "Content-Type: application/json", "-d", "{'name':'" + qualityGateName + "'}", "https://yoursonarserver/api/qualitygates/create"].execute().text

步驟2將項目綁定到門口

    ["curl", "--user", auth, "-X", "POST", "-H", "Content-Type: application/json", "-d", "{'gateId':'"+qualityGateId+"','projectId':'"+projectId+"'}", "https://yoursonarserver/qualitygates/select"].execute().text

關於如何獲取projectId和qualityGateId,您可以使用以下兩個api

獲取項目ID

        String result = ["curl", "--user", auth , "-X", "GET", "-H", "Accept: application/json", "https://yoursonarserver/api/projects/index", "-d", "search=" + projectName ].execute().text

獲取質量門ID

        def result = ["curl", "--user", auth, "-X", "GET", "-H", "Accept: application/json", "https://yoursonarserver/api/qualitygates/list"].execute().text

以上兩個api將獲得一個id列表,因此您需要根據項目名稱解析它們。

BR,

蒂姆

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM