我正在为我们的 Maven/Tycho 项目使用 Jenkins,并且正在使用 Email-ext 插件在电子邮件中获取构建报告。我正在使用我在这里找到的果冻脚本。
我正在寻找的是能够添加模块构建结果(失败、成功等)而不是构建工件。基本上我想在我的电子邮件中包含 maven 项目构建中间的表格。我查看了很多地方,但我发现的只是测试结果或工件。但我想获得模块构建结果。
通过像这样修改工件表部分解决了这个问题:
<!-- MAVEN ARTIFACTS -->
<j:set var="mbuilds" value="${build.moduleBuilds}" />
<j:if test="${mbuilds!=null}">
<div class="content">
<h1>Module Builds</h1>
<TABLE>
<TR><TD class="bg1"><B>Bundle Name</B></TD>
<TD class="bg1"><B>Build Result</B></TD></TR>
<j:forEach var="m" items="${mbuilds}">
<tr>
<TD>${m.key.displayName}</TD>
<j:if test="${m.value==null or m.value.size()==0 }">
<td>didn't run</td>
</j:if>
<j:forEach var="mvnbld" items="${m.value}">
<td>${mvnbld.result}</td>
<td align="left">
<j:choose>
<j:when test="${mvnbld.result=='SUCCESS'}">
<img src="${rooturl}static/e59dfe28/images/16x16/blue.gif" />
</j:when>
<j:when test="${mvnbld.result=='FAILURE'}">
<img src="${rooturl}static/e59dfe28/images/16x16/red.gif" />
</j:when>
<j:when test="${mvnbld.result=='NOT_BUILT'}">
<img src="${rooturl}static/e59dfe28/images/16x16/grey.gif" />
</j:when>
<j:when test="${mvnbld.result=='UNSTABLE'}">
<img src="${rooturl}static/e59dfe28/images/16x16/yellow.gif" />
</j:when>
<j:otherwise>
<img src="${rooturl}static/e59dfe28/images/16x16/grey.gif" />
</j:otherwise>
</j:choose>
</td>
</j:forEach>
</tr>
</j:forEach>
</TABLE>
<br />
</div>
</j:if>
然而,主要问题是,java 文档对于 jelly 脚本或 groovy 实现来说不够好。我不得不随机尝试,因为例如你在 AbstractBuild api 中找不到 getModuleBuilds。