メールコンテンツのカスタマイズ
Jira はテンプレート エンジンを使用して、イベントに対応するメールを生成します。テンプレート エンジンは Apache のVelocity です。これは java オブジェクトを便利な方法で分離できる、使いやすいテンプレート言語です。イベントに関連する一連のオブジェクトで Velocity を呼び出すことで、Jira 内でメールが生成されます。
考慮事項
- フィルター サブスクリプションの列を変更する場合、メール テンプレートをカスタマイズする必要はありません。
- この改善に関する機能リクエストは JRA-7266 です。課題に投票して、実装される可能性を高めることができます。
Velocity テンプレート (および JSP) に加えた変更は Jira アップグレード時に上書きされます。その場合、変更したファイルを新しい Jira バージョンに手動でコピーする必要があります。新しいバージョンで Velocity テンプレートおよび JSP が変更されている場合、カスタマイズをそれらに手動でインポートする必要があります (ファイルを古い Jira インストールからアップグレード後のバージョンに直接コピーすることとは異なります)。
Velocity テンプレートやその他の Jira ファイルのカスタマイズは、アトラシアン サポートの範囲には含まれません。
メール テンプレートの場所
ご利用の Jira インストール ディレクトリの以下の場所に移動します。
/atlassian-jira/WEB-INF/classes/templates/email/
Jira ソース ファイルを使用している場合、
jira/src/etc/java/templates/email/
に移動します。- このディレクトリには、3 つのサブディレクトリがあります。
html
- html でメールを作成するのに使用されるテンプレートが含まれます。text
- プレーン テキスト メールを作成するのに使用されるテンプレートが含まれます。subject
- メールの件名を生成するために使用されるテンプレートが含まれます。
- テンプレートを任意のテキスト エディターに取り込みます。「Jira テンプレート ドキュメント」および「Velocity ユーザー ガイド」を参照し、必要なカスタマイズを行います。
- Jira を再起動します。
新しいメール テンプレート
html
、text
、およびsubject
ディレクトリで、それらのディレクトリ内の既存のファイルに基づき、新しくmytemplate.vm
ファイルを作成します。- テンプレートを
atlassian-jira/WEB-INF/classes/email-template-id-mappings.xml
に追加して、新しいイベントを追加する際に選択できるようにします。
高度なカスタマイズ
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" エラーが表示されます。
「メールにカスタム フィールドを追加する」も参照してください。