メールコンテンツのカスタマイズ
JIRA はテンプレートエンジンを使用したイベントに反応して電子メールを生成します。テンプレートエンジンは Apache のVelocity です。これは java オブジェクトを便利な方法で引き離すことができる、比較的使いやすいテンプレート言語です。イベントに対する関連性のオブジェクトのセットを使用して Velocity を呼び出すことで、JIRA 内でメールが生成されます。
注意:
- フィルター サブスクリプションの列を変更するために、メールテンプレートをカスタマイズする必要はありません。
- JRA-7266 にはこの改善に対するよう要求リクエストがあり、この実装のチャンスを改善するよう投票できます。
- 次回 JIRA をアップグレードするとき、または何らかの理由で新しいインストールが必要となった場合は、Velocity テンプレート (および JSP) に加えた変更を手動で JIRA にコピーする必要があります。新しいバージョンで Velocity テンプレートおよび JSP に変更されている場合、カスタマイズをそれらに手動でインポートする必要があります (対照的に、これらのファイルを古い JIRA インストールからアップグレード後のバージョンに直接コピーします)。
Velocity テンプレートやその他の JIRA ファイルのカスタマイズは、アトラシアンサポートの範囲には含まれません。
メール テンプレートの場所
- JIRA ディストリビューションを開き、次のパスに移動します。
- The
WEB-INF/classes/templates/email/of the<jira-application-dir>in your JIRA installation directory. - The
jira/src/etc/java/templates/email/in your extracted JIRA source directory.
- The
- このディレクトリには、
html、text、およびsubjectの 3 つのディレクトリがあります。htmlサブディレクトリには html 形式でメールを作成するために使用するテンプレートが含まれ、textディレクトリにはプレーン テキスト メール出力が含まれます。subjectディレクトリにはメールの件名を生成するために使用されるテンプレートが含まれます。テンプレートには、メールをトリガーするイベントに関連する名前が設定されます。 - テンプレートを好きなりテキストエディターに取り込みます。「JIRA テンプレートドキュメントn (特に「電子メールテンプレートの Velocity コンテキスト」) および「Velocity ユーザーガイド」を参照し、必要なカスタマイズを行います。
- Jira を再起動します。
新しい電子メールテンプレートの場合:
html、text、およびsubjectディレクトリで、それらのディレクトリ内の既存のファイルに基づき、新しくmytemplate.vmファイルを作成します。- テンプレートを
atlassian-jira/WEB-INF/classes/email-template-id-mappings.xmlに追加して、新しいイベントを追加する際に選択できるようにします。
Note that since JIRA 4.1 each new template has to have a corresponding file in the subject directory.
高度なカスタマイズ
issue オブジェクトは vm テンプレートに渡されます。これに関連する /includes/summary-topleft.vm 内の複数の実装に注意します。例として、$issue.getProject() を呼び出すと、課題が所属するプロジェクトを決定し、別のプロジェクトからのメールでは異なる情報を表示するロジックを作成することもできます。
JIRA を再起動せずに Velocity テンプレートを展開する
In a development instance, you can play with picking up velocity file changes without a restart.
From <jira-install>/atlassian-jira/WEB-INF/classes/velocity.properties:
class.resource.loader.cacheをtrueからfalseに変更します。#velocimacro.library.autoreload=trueからコメント記号 (#) を削除します。
本番でこの変更を行うと「JIRA not serving」ページが表示され、ログファイルに「ran out of parser」エラーが作成されます。
また、「電子メールにカスタムを追加する」も参照してください。