在jenkins电子邮件通知中获取多行提交消息

时间:2015-08-11 21:44:11

标签: git jenkins jenkins-plugins git-commit email-ext

我需要修改jenkins中电子邮件通知的扩展电子邮件部分。 这就是我现在所拥有的:

enter image description here

这只是显示电子邮件中第一行提交消息。我想从提交消息中抓取多行。

我发现了这个:https://issues.jenkins-ci.org/browse/JENKINS-12289 所以我试过以下,没用。

enter image description here 请有人建议如何解决它。

谢谢你!

1 个答案:

答案 0 :(得分:0)

注释被截断为71或72个字符,因为在后台电子邮件扩展名使用title属性而不是comment属性。

将其保存在Jenkins>电子邮件模板中,作为test.template。请注意,使用cs.comment代替cs.title

<!-- CHANGE SET -->
  <%
  def changeSets = build.changeSets
  if(changeSets != null) {
    def hadChanges = false %>
  <table class="section">
    <tr class="tr-title">
      <td class="td-title" colspan="2">CHANGES</td>
    </tr>
    <% changeSets.each() { 
      cs_list -> cs_list.each() { 
        cs -> hadChanges = true %>
    <tr>
      <td>
        Revision
        <%= cs.metaClass.hasProperty('commitId') ? cs.commitId : cs.metaClass.hasProperty('revision') ? cs.revision : cs.metaClass.hasProperty('changeNumber') ? cs.changeNumber : "" %>
        by <B><%= cs.author %></B>
      </td>
      <td>${org.apache.commons.lang.StringEscapeUtils.escapeHtml(cs.comment)}</td>
    </tr>
        <% cs.affectedFiles.each() {
          p -> %>
    <tr>
      <td class="filesChanged">${p.editType.name}</td>
      <td>${p.path}</td>
    </tr>
        <% }
      }
    }
    if ( !hadChanges ) { %>
    <tr>
      <td colspan="2">No Changes</td>
    </tr>
    <% } %>
  </table>
  <br/>
  <% } %>

然后在构建后的可编辑电子邮件的“默认内容”中添加以下行:

${SCRIPT, template="test.template"}