Jenkins/Hudson Plot插件URL构建不正确

3
我遇到了以下问题:我正在使用Jenkins/Hudson的绘图插件来显示一些基于每个构建的字符,这个工作非常好...但是我想在单击点时显示更多的数据,而这应该在Plot插件中得到支持。
我正在使用“使用xpath从xml文件加载数据”选项,节点集和URL:
http://host:8080/abc/%name%/%index%/def

帮助弹出窗口中写道:

可选。如果设置,则在单击某个点时使用此URL。这将用作每个点的基本URL,%name%和%index%将在URL中替换为列名和索引。

然而,当我点击生成的图中的点时,%name%和%index%并没有被索引替换,所以URL并不是我期望的...
有什么想法可以正确地放置索引到占位符中吗?
2个回答

2

这个问题在Plot插件版本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;
}

1
我不认为在当前的插件中这个功能会生效。模式替换的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% 替换为列头本身。

我创建了一个拉取请求来修复这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接