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