読者です 読者をやめる 読者になる 読者になる

Jenkinsで変更点をメールする方法

以前書いた、Jenkinsでログの一部分からメールを作成する方法ではログの一部分を送る方法を記載した。
メールで変更点もわかるようなのだが、公式のドキュメントに一切説明がない。

トークンリファレンスにさらっと書かれているが非常にわかりづらいため、メモとして残す。
(このエントリー書いたのに消えてた・・・。)

変更点を送るには3つ方法がある。
${CHANGES, showPaths, showDependencies, format, pathFormat}
直近のビルドからの変更点
${CHANGES_SINCE_LAST_SUCCESS, reverse, format, showPaths, changesFormat, pathFormat}
直近の成功ビルドからの変更点
${CHANGES_SINCE_LAST_UNSTABLE, reverse, format, showPaths, changesFormat, pathFormat}
直近のUNSTABLEか成功ビルドからの変更点



showDependencies - 使ったことないからわからない
showPaths - ファイルパスを表示するかどうか
format - 表示フォーマット
pathFormat - ファイルパスの表示方法のフォーマット

formatとpathFormatで使える変数
%a コミットした人
%d コミットした日付
%m コミットメッセージ
%p ファイルパス
%r リビジョン

ただし、%dと%rは全てのバージョン管理システムでサポートされているか不明。

CHANGES_SINCE_LAST_SUCCESSとCHANGES_SINCE_LAST_UNSTABLEの設定
reverse - true: 最新の変更が上にくる。デフォルトがfalse
format - それぞれのビルドでの表示方法。
%c 変更点
%n ビルド番号

showPaths, changesFormat, pathFormatはCHANGESのshowPaths, format, pathFormatと同じ


それで今回こんな感じで作ってみた。

${CHANGES, format="コミッター: %a\nリビジョン: %r\n変更ファイル: %p\nコメント: %m", pathFormat="\n\t-\ %p"}
結果:
コミッター: shiraji
リビジョン: SHA1のリビジョン
変更ファイル:
- folder/filename
- folder/filename2
コメント: ext-mail test

なぜか、showPaths=trueを設定すると動かない(v2.25)。まぁ問題ないから別にいいやということで放置。