2012-11-07 21 views
3

我面臨以下問題:我使用Jenkins/Hudson的Plot Plugin來顯示一些基於每個構建的字符,而且這項工作很好......但是我想顯示點擊點擊的更多數據,這應該在Plot插件中支持。Jenkins/Hudson Plot Plugin URL構造不正確

我 「使用XPath加載數據從XML文件」 選項,節點組和URL使用:

以下
http://host:8080/abc/%name%/%index%/def 

幫助彈出狀態:

可選。如果設置,點擊某個點時會使用此URL。這被用作每個點的基礎URL,%name%和%index%將被替換爲帶有列名和索引的url。

然而,當我在生成的情節點擊點,%名稱%和%指數%不與指數替代,因此該網址當然不是我所期望的......

任何想法如何讓指數正確放置在佔位符中?

回答

1

我不認爲這在插件中的作用,因爲它目前存在。該code on Github的模式替換爲(對於CSV文件):

/** 
* Return the url that should be used for this point. 
* @param label Name of the column 
* @param index Index of the column 
* @return url for the label. 
*/ 
private String getUrl(String label,int index) 
{ 
    /* 
    * Check the name first, and do replacement upon it. 
    */ 
    Matcher nameMatcher = PAT_NAME.matcher(label); 
    if (nameMatcher.find()) 
    { 
     url = nameMatcher.replaceAll(label); 
    } 

    /* 
    * Check the index, and do replacement on it. 
    */ 
    Matcher indexMatcher = PAT_INDEX.matcher(label); 
    if (indexMatcher.find()) 
    { 
     url = indexMatcher.replaceAll(label); 
    } 

    return url; 
} 

label是CSV列標題,因此,這段代碼試圖取代%name%%index%列標題...與列標題本身。

我創建了一個pull request來解決這個問題。

2

這現在已經修復在Plot Plugin版本1.8中。

這是更正後的代碼:

private String getUrl(String label, int index) 
{ 
    // code below was updating this.url, which is the original url provided 
    // by the user 
    String url = this.url; 

    Matcher nameMatcher = PAT_NAME.matcher(url); 
    if (nameMatcher.find()) 
    { 
     // replace with label if "%name%" pattern was found 
     url = nameMatcher.replaceAll(label); 
    } 
    Matcher indexMatcher = PAT_INDEX.matcher(url); 
    if (indexMatcher.find()) 
    { 
     // replace with index if "%index%" pattern was found 
     url = indexMatcher.replaceAll(String.valueOf(index)); 
    } 
    return url; 
} 
+0

感謝@ericbn獲得此解決! –