0

我有一个 Jenkins 构建管道,其中包含手动部署到 QA 环境的任务。

调用项目时,我希望能够将更改日志从当前构建聚合到部署到 QA 环境的最后构建。

我通过更改日志看到了执行此操作的方法。然而,似乎没有一种简单的方法来获取这些信息然后汇总它。

关于如何实现这一目标的任何想法?

4

2 回答 2

0

email-ext 插件可以做这样的事情。它允许非常详细地配置 Jenkins 发送的电子邮件,其中包括电子邮件内容的脚本。

https://github.com/jenkinsci/email-ext-plugin/blob/master/src/main/resources/hudson/plugins/emailext/templates/html-with-health-and-console.jelly提供的示例如何迭代更改集并在生成的电子邮件通知中列出:

<!-- CHANGE SET -->
<div class="content">
  <j:set var="changeSet" value="${build.changeSet}" />
  <j:if test="${changeSet!=null}">
    <j:set var="hadChanges" value="false" />
    <a href="${rooturl}${build.url}/changes">
      <h1>Changes</h1>
    </a>
    <j:forEach var="cs" items="${changeSet.logs}" varStatus="loop">
      <j:set var="hadChanges" value="true" />
      <h2>${cs.msgAnnotated}</h2>
      <p>by <em>${cs.author}</em></p>
      <table>
        <j:forEach var="p" items="${cs.affectedFiles}">
          <tr>
            <td width="10%">${spc}${p.editType.name}</td>
            <td>
              <tt>${p.path}</tt>
            </td>
          </tr>
        </j:forEach>
      </table>
    </j:forEach>
    <j:if test="${!hadChanges}">
      <p>No Changes</p>
    </j:if>
    <br />
  </j:if>
</div>
于 2015-03-17T16:29:52.073 回答
0

我们做同样的事情,但我找不到任何 Jenkins 插件功能来实现它。

我使用了“执行 Shell”构建步骤并在 shell 脚本中编写了所需的功能。我们在 Linux 上运行 Jenkins,如果您使用的是 Windows,您可以使用“执行 Windows 批处理命令”构建步骤来实现相同的目的

于 2015-02-26T08:23:01.250 回答