2012-11-07 2 views
3

다음 문제가 발생합니다. 각 빌드를 기반으로 일부 문자를 표시하기 위해 Jenkins/Hudson 용 플롯 플러그인을 사용하고 있습니다. 플롯 플러그인에서 지원되어야하는 포인트 클릭에 대한 더 많은 데이터를 보여 드리고자합니다.젠킨스/허드슨 플롯 플러그인 URL이 제대로 구성되지 않았습니다.

I 옵션, 노드 집합 및 URL로 "를 XPath를 사용하여 XML 파일에서 데이터로드"를 사용하고 다음

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

도움말 팝업 상태 :

선택 사항. 설정된 경우이 URL은 지점을 클릭 할 때 사용됩니다. 이것은 모든 포인트에 대한 기본 URL로 사용되며 % name % 및 % index %는 URL에서 열 이름 및 색인으로 대체됩니다.

그러나 내가 생성 된 플롯의 포인트를 클릭하면, % 이름 %와 % 인덱스 %는 인덱스로 대체되지 않으므로 URL이 ... 내가 기대하지 무엇 물론

모든입니다 아이디어를 올바르게 자리 표시 자에 배치하는 방법은 무엇입니까?

답변

1

현재 플러그인으로 작동한다고 생각하지 않습니다.

/** 
* 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%를 교체하려고 : 패턴 교체에 대한 code on Github은 (CSV 파일에)입니다.

이 문제를 해결하기 위해 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이 해결하기! –

관련 문제