如何在cobertura报告中更改名称列的值

时间:2014-03-21 10:09:46

标签: jenkins cobertura

我在jenkins中使用cobertura插件进行代码覆盖。 我想在每个报表的基础上更改项目覆盖率摘要中的名称列的值。 enter image description here

有没有办法改变这个。我想在那边给我的项目名称。

4 个答案:

答案 0 :(得分:4)

这是插件的一个分支,它可以满足您的需求(项目名称代替" cobertura覆盖率报告")。

https://github.com/andytompkins/cobertura-plugin

cobertura plugin with project name

现在它只使用项目名称。我想这可能成为一个可配置的项目? 如果需要其他东西,我会很乐意继续努力,甚至可能以上游将它们带走的方式打包更改。

更改的相关代码位于CoverageResult.java中。添加了一种方法:

public String getJobName() {
    AbstractProject job = owner.getProject();
    return job.getName();
}

在index.jelly中将引用从it.name更改为it.getJobName()。

<td>${it.getJobName()}</td>

在每个报告的基础上制作它会有点困难。报告本身没有名称或标题字段 - 这个插件不控制格式,它只是读取它。

我也在使用一个使用业力和业力覆盖的javascript项目。目前正在生产jenkins中运行forked插件。

编辑: 在我的仓库中的分支use-filename-for-reportname中,您将找到一个版本的插件,它将使用coverage文件的名称作为报告名称。

report name from file

答案 1 :(得分:2)

我建议前往plugin page,联系其中一位维护人员:
斯蒂芬康纳利(id:stephenconnolly)
Manuel Carrasco Monino(身份证号码:manuel_carrasco)
Seiji Sogabe(id:ssogabe)

并问他们如何做到这一点 一旦你有解决方案,在这里分享,因为其他人(像我一样)可能也想要这个功能......

我希望这会有所帮助。

答案 2 :(得分:2)

您可以转到plugin Github page,并为自己克隆源代码的副本。

快速搜索显示您要更改的行可能位于此文件中:
src/main/resources/hudson/plugins/cobertura/Messages.properties

CoberturaCoverageParser.name=Cobertura Coverage Report

将该行更改为您想要的内容。保存并重建插件。有big tutorial on how to build Jenkins plugins here

答案 3 :(得分:0)

我只在Maven中使用过一次Cobertura,你可以在xml和html输出之间进行选择,这是在你在项目的pom.xml文件中定义的outputDirectory中创建的。

假设逻辑相同,您可以转到生成的xml或html文件,只需搜索字符串“Cobertura Coverage Report”并在那里进行更改。

如果改变它的目的是发送给某人(例如:向老板报告),这将有效。

据我所知,现在不可能改变一些配置并有明确的解决方案。

我建议的是,open a issue在插件页面,甚至是GitHub的OpenSource存储库,并提出增强功能,甚至可以自己做出贡献。

如果这不能使他们移动我建议尝试联系plugin page的维护人员。

编辑(2014年3月30日):

您正在寻找的解决方案不可用,Cobertura不支持它。 Cobertura插件将始终显示相同的报告结构,其中整体报告摘要将始终具有值“cobertura覆盖率报告”,非常相似的Emma coverage插件在同一位置具有字符串值“所有包”,除非您编辑对于源代码或要求增强,抱歉。

如果您选择更改源代码,它确实是Slav建议的值:

src/main/resources/hudson/plugins/cobertura/Messages.properties

CoberturaCoverageParser.name=Cobertura Coverage Report

但在这种情况下,您必须为每个项目创建并安装一个新插件。

所以在底线,我不会朝那个方向前进。 另一方面,我建议使用Cobertura或Karma(在Daniel Schaffer的案例中)来生成html。这个可以通过基本的html和css技巧轻松改变,以获得您想要的外观和感觉。