2013-05-01 55 views
7

Jenkinsとemail-extを使用してビルド通知を送信しています。 Buildは、outディレクトリに単純なHTMLとして保存された小さなカスタムレポートを作成します。今すぐこのレポートを電子メールに添付することができますが、私が望むのは、このレポートを電子メール本体に表示させることです。私は私自身のゼリーテンプレートを書くことができることを知っているが、これはビルドサーバー(ゼリースクリプトをインストールする)にアクセスする必要があるので、これも避けたい。私の質問は次のとおりです:jenkins email-extのテンプレートにhtmlファイルの内容を含めるにはどうすればいいですか?

  1. Email-ExtプラグインのContentフィールドに任意のファイルの内容(ビルド中に生成されたもの)を含めることはできますか?
  2. できない場合は、ジェンキンスでこのようなレポートを送信する最も簡単な方法は何ですか?
  3. メール-EXTの最も簡単な方法は、「スクリプトをプリ送る」を使用することであるように見えます
+0

可能な複製[HTMLファイルのコンテンツをdiv \ [iframe \を使用せずに読み込む]](http://stackoverflow.com/questions/3535055/load-html-file-contents-to-div- – abc

答えて

14

スクリプトは次のようになります。

def reportPath = build.getWorkspace().child("HealthTestResults.html") 
msg.setContent(reportPath.readToString(), "text/html"); 

それはHealthTestResults.htmlのコンテンツをレンダリングワークスペースのルートにメッセージの本文として置かれています。

+0

build.getWorkspace()でスクリプトを実行する方法はありますか?私はTEST * .xmlファイルを処理したいと思います。 –

+0

@ Neil Yap - XMLファイルをHTMLに処理する最も良い方法は、ビルドにXSLプロセスを追加することです。そして、出力をインラインアタッチメントとして含めます(上記を参照)。 – Ramon

+0

このコードは私のために働いていますが、今問題は、プラグインの「添付ファイル」セクションで指定されている添付ファイルが1つあります。 –

0

は、私はそれが


def reportPath = build.getWorkspace().child("HealthTestResults.html") 
msg.setContent(reportPath.readToString(), "text/html"); 

を使用してみてくださいしかし、電子メールが送り出され、このようなものです:


フレーム警告このドキュメントはフレームを使用して表示されるように設計されて 特徴。このメッセージが表示された場合は、非フレーム対応のWebクライアントを使用しています。


理由を知っていますか? マイクChaliyコンテンツを電子メールで送信するためにhtmlファイルをインクルードする

+1

これは受け入れられた回答のコメントではなく、回答。 – Xiao

4

簡単な方法は、デフォルトのコンテンツ= $ {FILE、パス=「yourfilename.html」}

に線の下に追加することで、これはジェンキンスメールに私の作品extプラグイン

関連する問題