3

我面临以下问题:我正在使用 Jenkins/Hudson 的 Plot 插件来根据每个构建显示一些字符,并且这项工作很好......但是我想显示更多关于点击的数据,其中Plot 插件应该支持。

我正在使用“使用 xpath 从 xml 文件加载数据”选项、Nodeset 和 URL:

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

帮助弹出窗口指出以下内容:

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

但是,当我单击生成图中的点时,%name% 和 %index% 不会被索引替换,所以 URL 当然不是我所期望的......

任何想法如何将索引正确放置在占位符中?

4

2 回答 2

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;
}
于 2014-09-28T15:56:42.027 回答
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%为列标题本身。

我创建了一个拉取请求来解决这个问题。

于 2013-10-31T17:22:00.013 回答