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 ファイルを保持することもおすすめします。
Go to <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) に加えた変更は 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 の再起動
これらのテンプレートを変更したら、変更を適用するために Jira インスタンスを再起動する必要があります。
オプション: 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" エラーが表示されます。