web-dev-qa-db-ja.com

Jenkinsで編集可能なメール拡張機能を使用した添付ファイル

Jenkinsの編集可能なメールプラグインを使用して、メールにファイルを添付しています。問題は、プラグインが添付するファイルを見つけることができないことです。

私のファイル構造はこんな感じです-
ReportDirectory
ワークスペース

ReportDirectoryには、添付するレポートが含まれています。プラグインのベースディレクトリはワークスペースだと思います。したがって、添付ファイルの場所を../ReportDirectory/DemoReport.htmlとして指定します。 ReportDirectory /DemoReport.htmlも試しました

そしてより多くのオプション。私は何か間違ったことをしていますか?

10
Kumar Vaibhav

私はそれを考え出した。

編集可能な電子メールプラグインは、添付ファイルを見つけるためにAntファイル構文を使用します。 Antファイル構文のドキュメント( http://ant.Apache.org/manual/dirtasks.html )を読んだとき、それは

一般に、パターンは、タスクに依存するベースディレクトリ(の場合はdir属性)を基準にした相対パスと見なされます。そのベースディレクトリの下にあるファイルのみが考慮されます。したがって、../foo.Javaのようなパターンは可能ですが、ベースディレクトリの親がファイルをスキャンすることはないため、適用すると何にも一致しません。

この場合のベースディレクトリは「workspace」であり、私のディレクトリ「ReportDirectory」はその中にないため、Antはそれにアクセスできません。

2つの解決策があります。

  1. 「レポートディレクトリ」を「ワークスペース」のどこかに移動します。ワークスペースを台無しにしたくなかったので、私はこれを好みませんでした。
  2. レポートが「ReportDirectory」で作成されたら、Ant\MSBuildスクリプトを使用して一時的に「ワークスペース」にコピーすると、Eメールプラグインは** /Report.htmlなどでレポートにアクセスできるようになります。

@ Amey-あなたの努力に感謝します:)

10
Kumar Vaibhav

別の解決策は、$JENKINS_HOME/jobs/workspace/$workspace_nameから$workspace_nameを使用してパスへのシンボリックリンクを作成することです。この方法は私のために働いた。

2
Lin Gong
ReportDirectory/DemoReport.html

それを行う正しい方法です。

ファイルへのパスとファイル名では大文字と小文字が区別されるため、正しい名前を入力したと見なします。

もう1つ確認するのは、レポートが実際に作成され、指定されたパスに配置されていることです。

あなたが試すことができるもう一つのこと

ReportDirectory/*
1
Amey

簡単な答え:ファイルをワークスペース(ジョブディレクトリ)にコピーし、[添付ファイル]で、引用符などを付けずにファイル名を指定します。これにより、Jenkinsにファイルを取得するように自動的に指示されます。それでおしまい! plsは、すべての構成を確認した後、混乱することはありません。

0
daniel chempola

Jenkinsは、ワークスペースで使用可能なディレクトリを使用します。

以下のように複数の添付ファイルを送信できます。

reportFolder/html/index.html、screenShotsFolder/screenShots/*。jpg

0
vish