2010-12-19 8 views
1

SetEnv pluginがインストールされていて、タスク中に変数を取得しても問題ありません。ステータス電子メールでsetenv hudsonプラグイン変数にアクセスできますか?

残念なことに、結果のステータスメールにenv変数を使用しようとすると、運がまったくありません。これは動作するはずですか?

私は$ VARNAMEと$ {VARNAME}の両方を試しましたが、どちらもメールで正しく置き換えられません。

答えて

3

電子メール通知で環境変数(または任意の変数)を使用する最も簡単な方法は、Email-ext pluginを使用することです。

詳細については「コンテンツトークン参照」を確認してください。しかし、要するに、より洗練された置換が得られます。

  • $ {ENV、var} - 変数 を定期的に表示します。
  • $ {BUILD_LOG_REGEX、regex、linesBefore、linesAfter、maxMatches、showTruncatedLines} - ビルドログから正規表現に一致する行を表示します。
  • $ {CHANGES_SINCE_LAST_SUCCESS、reverse、format、showPaths、changesFormat、pathFormat} - 最後に成功したビルド以降の変更を表示します。
  • $ {FAILED_TESTS} - テストに失敗した場合、失敗したユニットテスト情報を表示します。

プラグインを使用すると、Hudson構成の基本「グローバル」テンプレートを簡単に定義できます。そのテンプレートをジョブ構成内で「拡張」して、詳細を追加します。また、ビルドのステータス/結果に基づいて、より細かく通知をルーティングすることもできます。

+0

使用して電子メールでそれを解析:

たとえば、実行シェル部でこれを持つことができます。要は、env変数を追加できる他のプラグインは、値を電子メールプラグインに「エクスポート」していないようです。 – Tim

+0

私は、SetEnvプラグインの実装が各ビルドステップに変数を注入すると思う(Hudsonはすべてのビルドステップで新しいシェルを使用する)。 Email-extは別のシェルを作成しないので、Email-extプラグインが追加の環境変数を持つことは期待していません。両方のプラグインの興味深い機能要求かもしれません。ここで問題になるのは、プラグインを変更する必要があるため、プラグインを機能させるためです。 –

+0

私は昨日興味深いものを見つけました。新しいプラグインの定義/要件が作成されました。コアと電子メールプラグインを置き換えるための新しい電子メールプラグイン。私はenv varsへのアクセスを要求しました。 (http://wiki.hudson-ci.org/display/HUDSON/The+new+EMailer) – Tim

2

これはすでに可能です。間違った構文を使用しているようです。前述のように、email-extプラグインには、環境変数にアクセスするための特定の方法があります。代わりに、電子メールの本文にこれを入れてみてください:

${ENV, var=VARNAME} 

別の方法は、それがBUILD_LOG_REGEXを使用するためのビルドおよび解析時に環境変数をエコーするハドソンの実行シェルの機能を使用することです。

echo "Output: ${VARNAME}" 

を、私はそのプラグインを使用しています

${BUILD_LOG_REGEX, regex="^Output:", showTruncatedLines=false, substText=""} 
+0

も動作しません。 – Tim

+0

申し訳ありません、そうです。$ {ENV、var = "VARNAME"} –

関連する問題