您可以使用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
關於如何讓專案編號和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,
添
喜添。偉大的信息。但不幸的是,這並沒有解決我的問題。質量門已經存在。但是通過調用maven的聲納分析,該項目可以自動創建和分析。所以我沒有機會在分析之前將項目綁定到質量門。或者我錯過了什麼? –
忘記提及我們如何解決這個問題,如果您使用默認的分支機制,這是非常棘手的。我們所做的是在開始使用簡單的shell腳本進行分析之前,將我們的項目pom artifact id(默認聲納項目名稱)更新爲abc-branch之類的東西,因此您有機會首先使用其餘api創建聲納項目,然後做分析,綁定門...... – Tim
啊,我明白了。所以解決方案的關鍵是手動創建項目,對嗎?是否還有API調用來創建新項目,但尚未分析它?除此之外,當你寫下「首先用其他api創建聲納項目,然後進行分析,綁定門」時,分析後就會發生與門的綁定,因此會影響分析。 –