QA 環境に手動でデプロイする Jenkins ビルド パイプラインがあります。
プロジェクトが呼び出されたときに、現在のビルドから QA 環境にデプロイされた最後のビルドまでの変更ログを集約できるようにしたいと考えています。
変更ログからこれを行う方法がわかります。ただし、この情報を取得して集計する簡単な方法はないようです。
この目的を達成する方法についてのアイデアはありますか?
QA 環境に手動でデプロイする Jenkins ビルド パイプラインがあります。
プロジェクトが呼び出されたときに、現在のビルドから QA 環境にデプロイされた最後のビルドまでの変更ログを集約できるようにしたいと考えています。
変更ログからこれを行う方法がわかります。ただし、この情報を取得して集計する簡単な方法はないようです。
この目的を達成する方法についてのアイデアはありますか?
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>