この回答で推奨されてCause
いるように、ビルドの を介してなんとか解決できました。
ビルド リクエスターがビルドの原因で見つかる理由は、考えてみれば完全に理にかなっています。すべてのビルドがユーザーによって直接トリガーされるわけではありません。ユーザーによってトリガーされた場合、ビルドの原因のリストにはCause.UserIdCause
、ユーザーの ID と名前を含む が含まれます。
このコードスニペットは私にとってはうまくいきました。原因を介してビルドからユーザー名を抽出し、From ヘッダーと ReplyTo ヘッダーを設定します。email-ext Jenkins プラグインの送信前スクリプトで使用しています。
import javax.mail.internet.InternetAddress
cause = build.getCause(hudson.model.Cause.UserIdCause.class);
username = cause.getUserName()
id = cause.getUserId()
email = new InternetAddress(String.format("%s <%s@example.com>", username, id))
msg.setFrom(email)
msg.setReplyTo(email);