Jira Server でのメール コンテンツのカスタマイズ
Jira は、テンプレート エンジン (Apache の Velocity) によってイベントに対応するメールを生成します。これは java オブジェクトを便利な方法で分離できる、比較的使いやすいテンプレート言語です。ヘッダーやフッターへの情報の追加やメールのコンテンツの入れ替えなど、多数のカスタマイズを行って要件に応じてメールを調整できます。
Velocity テンプレートやその他の Jira ファイルのカスタマイズは、アトラシアン サポートの範囲には含まれません。
はじめる前に
Jira Server の電子メール テンプレートは、次の 2 つの場所に格納されます。
- Jira インストール ディレクトリ: バッチ処理された課題通知
- Jira inform - batchers アプリ: 個別の課題通知やその他のイベント
取得するロケーションの選択は、カスタマイズする通知の種類によって異なります。どの通知を使用しているのかわからない場合は「Jira のメール通知の種類」をご参照ください。
この記事は Jira Server 向けです。Jira Data Center をご利用の場合は、テンプレートを別の方法で取得する必要があります。「メール コンテンツのカスタマイズ」をご確認ください。
バッチ処理された課題通知用のテンプレートの取得
バッチ処理された課題通知用のテンプレートを取得します。
考慮事項
- テンプレートの修正後に Jira は再起動不要です。
- テンプレートを含むアプリは Jira のアップグレードごとに上書きされて、変更を再適用する必要があります。テンプレートのコピーを保管しておくと、変更をより迅速に再適用できます。しかしながらバージョンが変更される可能性があるため、アプリ全体をコピーしないことをお勧めします。
ステップ 1: Velocity テンプレートを取得する
バッチ処理された課題通知に使用される Velocity テンプレートは、Jira inform - batchers アプリにあります。これを解凍してください。
1. アプリのバージョンを調べる
Jira インストール ディレクトリに、このアプリの複数のバージョンがある場合があります。現在のバージョンを確認して、後で編集するファイルを確認します。
画面右上隅で [管理] > [アプリを管理] の順に選択します。
[アプリを管理] に移動します。ドロップダウン リストから、[すべてのアプリ] を選択して「Jira inform - batchers」を検索します。
アプリを展開してバージョンを確認します (次のスクリーンショットでは 1.1.3 です)。
2. Jira インストール ディレクトリからアプリをコピーする
アプリを別のディレクトリにコピーします。Jira インストール ディレクトリ内の .jar ファイルは編集しないでください。また、変更を元に戻す必要がある場合に備えて、元の .jar ファイルを保持することをお勧めします。
<jira-installation-directory>/atlassian-jira/WEB-INF/atlassian-bundled-plugins/
に移動します。batchers-<version>.jar
ファイルを検索します。ファイルを別のディレクトリにコピーします。
3. アプリの JAR ファイルからテンプレート ファイルを抽出する
次のコマンドによってテンプレートを解凍します。このコマンドを動作させるには、JDK がインストールされている必要があります。
jar xf batchers-1.1.3.jar templates/email
ステップ 2: Veloctity テンプレートを編集する
Velocity テンプレートを解凍したら、それらを直接編集できます。テンプレートとその使用方法の詳細については「テンプレート: バッチ処理された課題通知」をご参照ください。
ステップ 3: 更新されたテンプレートをJira にアップロードする
変更のテスト
本番環境に適用する前に、ステージング環境で変更をテストすることをおすすめします。Velocity 構文に違反した場合、メールは一切送信されません。
テンプレートを .jar ファイルに戻します。次のコマンドを使用します。
jar uf batchers-1.1.3.jar templates/email
アプリを Jira にアップロードします。画面右上隅で [管理] > [アプリを管理] の順に選択します。
[アプリを管理] に移動して [アプリをアップロード] を選択し、.jar ファイルをアップロードします。アプリが再インストールされると、変更が表示されます。Jira インスタンスは再起動不要です。
個別の課題通知 (およびその他のイベント) のテンプレートを取得
これらのテンプレートを取得して、個別の課題通知、またはユーザーの作成、パスワードを忘れた場合、管理者への連絡などのその他の通知をカスタマイズします。
考慮事項
Velocity テンプレートと JSP (JavaServer Pages) に加えた変更は、Jira アップグレード時に上書きされます。この場合は、修正したファイルを新しい Jira バージョンに手動でコピーする必要があります。
新しいバージョンで Velocity テンプレートまたは JSP が変更されている場合は、カスタマイズした内容を手動でインポートする必要があります。しかし、これらのファイルを古い Jira インストールからアップグレード後のバージョンに直接コピーしないでください。
ステップ 1: Velocity テンプレートを取得する
テンプレートを取得するには、次の手順に従います。
ご利用の Jira インストール ディレクトリの以下の場所に移動します。
/atlassian-jira/WEB-INF/classes/templates/email/
Jira ソース ファイルを使用している場合、
jira/src/etc/java/templates/email/
に移動します。- このディレクトリには、3 つのサブディレクトリがあります。
html
には、HTML メールの作成に使用されるテンプレートが含まれます。text
には、プレーン テキスト メールの作成に使用されるテンプレートが含まれます。subject
には、メールの件名の生成に使用されるテンプレートが含まれます。
新しいメール テンプレートの作成
html
、text
、subject
の各ディレクトリで、それらのディレクトリにある既存のファイルに基づいて、新しいmytemplate.vm
ファイルを作成します。- テンプレートを
atlassian-jira/WEB-INF/classes/email-template-id-mappings.xml
に追加して、新しいイベントを追加する際に選択できるようにします。
ステップ 2: Veloctity テンプレートの編集
Velocity テンプレートを解凍したら、それらを直接編集できます。テンプレートとその使用方法に関する詳細については「テンプレート: 課題通知とその他のイベントを分離する」をご参照ください。
ステップ 3: Jira の再起動
Verocity テンプレートを修正したら、変更を適用するために Jira インスタンスを再起動する必要があります。
オプション: Jira を再起動せずに Velocity テンプレートをデプロイする
開発インスタンスでは、Velocity ファイルの変更を Jira を再起動することなく取得できます。<jira-install>/atlassian-jira/WEB-INF/classes/velocity.properties
で次の内容を実行します。
class.resource.loader.cache
をtrue
からfalse
に変更します。#velocimacro.library.autoreload=true
からコメント記号 (#
) を削除します。
本番環境インスタンスでは、この変更によって既定の Velocity テンプレートに戻ってテンプレートに変更を加えられます。Jira は再起動不要です。