0

我在作为 Windows 服务运行的 Jenkins 实例中安装了 JobConfigHistory 插件。詹金斯运行良好。

我对作业的配置进行了更改,即添加了一些文本。

在左侧窗格 Job 的仪表板页面上,我单击了“Job Config History”链接。

这在右侧窗格中打开了一个新页面,其中包含以下信息:

作业配置历史
GigaWebFiles

日期操作用户显示文件恢复旧配置差异
                                                                       文件 A 文件 B
2012-11-27_x_x 将 c9807 视图更改为 XML (RAW) (*)
2012-11-27_x_x 更改了 c9807 查看为 XML (RAW) 还原 (*)

此信息上方有一个“显示差异”按钮,我单击它,没有显示任何内容。

当我单击“以 XML 格式查看”链接时,它给了我以下错误。

XML 解析错误:未找到元素
位置:http://jenkins06.server.com:8080/job/GigaWebFiles/jobConfigHistory/configOutput?type=xml&file=D%3A%5Cjenkins04%5Ctomcat6%5Cbin%5C..%5C..%5Cjenkins%5Cconfig-history% 5Cjobs%5CGigaWebFiles%5C2012-11-27_19-49-31
第 2 行,第 1 列:
^



知道需要纠正什么。

我尝试卸载插件“JobConfigHistory”(通过删除 JENKINS_HOME/plugins 文件夹下的 .hpi 和文件夹,并再次将所有作业保存在 Jenkins 实例中(以删除对此插件的任何引用)。

我还看到了以下 Jenkins 系统日志在实例重启期间。

Caused by: java.lang.IllegalArgumentException: D:\jenkins04\tomcat6\bin\..\..\jenkins\config-history\jobs\GigaWebFiles\2012-11-27_19-49-31 does not start with D:\jenkins04\tomcat6\bin\..\..\jenkins\config-history or contains '..'
    at hudson.plugins.jobConfigHistory.JobConfigHistoryBaseAction.getConfigXml(JobConfigHistoryBaseAction.java:158)
    at hudson.plugins.jobConfigHistory.JobConfigHistoryBaseAction.getFile(JobConfigHistoryBaseAction.java:114)
    ... 85 more

Caused by: java.lang.IllegalArgumentException: D:\jenkins04\tomcat6\bin\..\..\jenkins\config-history\jobs\GigaWebFiles\2012-11-27_19-49-31 does not start with D:\jenkins04\tomcat6\bin\..\..\jenkins\config-history or contains '..'
    at hudson.plugins.jobConfigHistory.JobConfigHistoryBaseAction.getConfigXml(JobConfigHistoryBaseAction.java:158)
    at hudson.plugins.jobConfigHistory.JobConfigHistoryBaseAction.getDiffFile(JobConfigHistoryBaseAction.java:257)
    at hudson.plugins.jobConfigHistory.JobConfigHistoryBaseAction.getDiffLines(JobConfigHistoryBaseAction.java:273)
    ... 123 more
4

1 回答 1

1

我是 JobConfigHistory 插件的维护者之一。我只是偶然发现你的问题,这个插件的问题应该在 Jenkins Jira 中打开: https ://issues.jenkins-ci.org/browse/JENKINS/component/15683

问题是,出于安全原因,该插件现在不接受包含“..”的路径。这个问题可能会在下一个版本中得到解决。

于 2012-12-20T14:06:39.917 回答