我嘗試使用api/metrics的GET方法來檢索用於我的程序的JSON,但文檔缺乏描述requestUrl中使用的所有參數。如何從api/sonarqube指標獲取Json?
例如在我的節目,我發現,使用谷歌Chrome瀏覽器的控制檯,該requestUrl是這個:
,纔有可能找到更詳細的文檔或我試圖解決我的問題的方式不正確嗎?
我嘗試使用api/metrics的GET方法來檢索用於我的程序的JSON,但文檔缺乏描述requestUrl中使用的所有參數。如何從api/sonarqube指標獲取Json?
例如在我的節目,我發現,使用谷歌Chrome瀏覽器的控制檯,該requestUrl是這個:
,纔有可能找到更詳細的文檔或我試圖解決我的問題的方式不正確嗎?
只需將&format=json
添加到參數中即可。
見http://docs.sonarqube.org/display/SONARQUBE43/Web+Service+API#WebServiceAPI-ResponseFormats
好吧我明白,但我不清楚如何從外部程序中調用它。如何正確地做到這一點? – TrullSengar
在回答你的問題如何從外界評論稱:
如果你想從您可以使用Apache HTTP客戶端的Java程序調用SonarQube Web服務API:
public static void main(String[] args) throws ClientProtocolException, IOException {
HttpGet httpGet = new HttpGet("http://localhost:9000/api/resources?metrics=lines");
try(CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = httpClient.execute(httpGet);) {
System.out.println(response.getStatusLine());
HttpEntity entity = response.getEntity();
System.out.println(EntityUtils.toString(entity));
}
}
在這種情況下,它將打印SonarQube上的所有項目,並添加指標「線」。您可以添加多個指標到列表中,用逗號分隔:
"http://localhost:9000/api/resources?metrics=lines,blocker_violations"
我已經訪問了SonarSource API文檔,但對我來說確實含糊不清。有人知道在哪裏找到更好的文檔? – TrullSengar