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

标签 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 请有人建议如何解决它。

非常感谢!

最佳答案

评论被截断为 71 或 72 个字符,因为在后台电子邮件分机使用 title 属性而不是 comment 属性。

在 Jenkins > email-templates 中将其保存为 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"}

关于git - 在 Jenkins 电子邮件通知中获取多行提交消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31952483/

相关文章:

git - 断言当前 HEAD 指向 master 的命令?

git - 将存储库克隆到 GitHub

jenkins - 如何将版本从 build.gradle 提取到 Jenkins 管道

docker - 在 Jenkins 容器中运行 docker 容器,如何设置主机的音量?

jenkins - 使用 SSH(脚本、插件等)启动进程

bash - 在 Windows 上的 Git Bash 中重命名文件

java - 在公共(public)/不安全的网络上使用纯文本密码提交代码有多危险?如何正确处理代码中的密码?

jenkins - 动态更新 Jenkins 管道参数

jenkins - 在 Jenkins 声明性管道的参数中定义凭证参数?

jenkins - 使用Gradle的Artifactory Jenkins集成