2015-02-06 84 views
2

對於我的發佈自動化,我創建了一個包含sonarqube當前測量結果的文檔生成器。在本文中,我想報告幾個版本的代碼之間的差異。 我設法版本的列表,而無需使用 http://nemo.sonarqube.org/api/events?resource=org.codehaus.sonar:sonar&categories=Version 任何問題,我也設法利用來獲得當前代碼狀態的測量 http://nemo.sonarqube.org/api/resources?resource=org.codehaus.sonar:sonar&metrics=ncloc如何從sonarqube中使用webservice api獲取特定版本的指標

任何人可以幫助我如何獲得舊版本的ncloc ,說'4.0'版本?

回答

1

Web服務不允許查詢此信息。

1

那麼解決方案是迂迴的,但你可以根據版本得到你想要的數據。

提出的解決方案:

  1. 瞭解從API的特定版本的詳細信息。 http://nemo.sonarqube.org/api/events?resource=org.codehaus.sonar:sonar&categories=Version&format=json

    的反應會是這樣的:

    [{"id":"23761","rk":"helloworld","n":"1.1","c":"Version","dt":"2017-07-19T20:28:54-0500"}, 
    {"id":"23731","rk":"helloworld","n":"1.0","c":"Version","dt":"2017-07-18T14:51:20-0500"}, 
    {"id":"5107","rk":"helloworld","n":"1","c":"Version","dt":"2015-12-07T11:37:44-0600"}] 
    

    的「DT」值指定版本發佈的時間點。

  2. 解析JSON並獲取dt值。從獲得的dt值中查找最小和最大日期值。

  3. 使用時間機器API查詢出來的指標,您需要使用API​​ http://nemo.sonarqube.org/api/timemachine?resource=helloworld&metrics=coverage,ncloc&rfomDateTime=(min_dt_value)&toDateTime=(max_dt_value)

    您將得到所有的時間戳之間的指標。

  4. 將我們版本特定的dt值與上述響應中獲得的值進行比較,從而獲取特定於版本的度量值。

相關問題