2013-05-22 3 views
9

私はこの問題を解決し、フォーラムなどを検索し、自分自身のために、成功なしにしようとしていました。 リリースでのみJenkinsから電子メールを送信するには?

我々はジェンキンスの仕事を持っており、そこに私たちは、その後、仕事で

release plugin config

(標準設定で)リリースプラグイン使用我々持っているの左側にある「実行Mavenのリリース」バージョンを生成する(タグ、ポムの変更など)

Release button on the left side

我々はリリースが行われたとき、チームに電子メールを送りたいです。

私はリリースがセットをプラグインすることを的環境変数(デフォルトではIS_M2RELEASEBUILD)を試してみました、私はGroovyのスクリプト(先進=>トリガー=>スクリプトトリガ

を添付することができ、電子メール-EXTプラグインプラグインと組み合わせます

trigger with the email ext plugin

そして私は、アクティブなメールへのスクリプトの多くを試みたが、どれもが私の最後のチャンスだった、機能しません:

def env = System.getenv() 
env['IS_M2RELEASEBUILD'] == 'true' 

が、私はリリースたちを実行するときメールは送信されていません(このスクリプトは条件付きか偽かを評価します)

誰かが彼のジェンキンスにこの設定をしていますか?

ありがとうございます!

答えて

2

https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin

このプラグインを使用すると、電子メール通知のあらゆる側面を構成することができます。電子メールの送信時期、受信者、電子メールの内容をカスタマイズすることができます。

+0

ありがとうございました。私はこのプラグインを使用しており、上記で書いたgroovyコードを使用して電子メールを「起動」します。問題は、電子メールextプラグインがリリースアクションに接続するための正確なコードがわからないことです。 –

2

これは答えではなく、単なる提案です(私はコメントを追加できません)。ポストビルドとビルド前のステップで環境変数をエコーし​​てみましたか?

1

リリースビルドが正常に完了したときに別のビルドを実行しようとしましたが、そのジョブにシェルスクリプトを実行して電子メールを送信させてもらいましたか?あなたは、「ビルド後のアクション」と「編集可能な電子メール通知」を使用し、事前送信スクリプトとして

def env = build.getEnvironment(); 
String isRelease = env['IS_M2RELEASEBUILD']; 
logger.println "IS_M2RELEASEBUILD="+isRelease; 
if (isRelease == null || isRelease.equals('false')) { 
    logger.println "cancel=true;"; 
    cancel=true; 
} 

を貼り付け、「プロジェクト受信者リスト」にあなたのEメール(複数可)に記入する必要が

6

「成功」トリガーを追加します。 (「Mavenリリースビルド」のデフォルトの「リリース環境変数」を変更していないという前提条件があります)

+0

そして...はい!できます! +1多くのスクリプトと設定を試しましたが、なぜ失敗するのかわかりませんが、実際にスクリプトは現在動作しています。 –

関連する問題