スマート値の基本
スマート値によって、Jira のほとんどすべての課題データにアクセスして操作できます。修得するまでにやや時間を要するかもしれませんが、ルールの活用法が大幅に増えるでしょう。
スマート バリューとは
たとえば、スマート値 {{now.plusDays(5)}}
は現在の日付に 5 日を足した日を参照して、スマート値 {{issue.summary}}
は課題の要約を出力します。
では、簡単な例を見てみましょう。トランジション中の課題にコメントを追加したり、課題の報告者と担当者の名前を入力したりするとします。コメントの適切な場所に適切なスマート値を挿入するだけで実行できます。
中括弧がある理由
アトラシアンでは、Mustache ライブラリによってスマートな代替を行います。これは、任意のコードの実行を許可しないため、セキュリティ上の理由で使用しました。欠点は、構文が少々不自然な場合があることです。置換を行うには、値を「二重波かっこ」で囲む必要があります。たとえば、{{somevalue}}
というようにします。
子要素を参照するには、ドットを使用するだけです。たとえば、{{issue.key}}
というようにします。
どのスマート値を使用すればいいですか?
90% の確率で、リファレンス ガイドに記載されている値からスマート値を簡単に選択できます。
また、スマート値の具体的な使用方法については、次の詳細なセクションもご覧ください。
1 つのステップで複数の変換を適用する必要がある場合は、関数を連結できます。たとえば、課題の要約を小文字に変更して、最初の 10 文字だけでさらに末尾に「!!」を追加するには、次のように連結します。
{{issue.summary.toLowerCase().substring(0, 10).concat("!!")}}
課題フィールドへのアクセス
{{issue.My custom field name}}
というフィールド名を使用します。
フィールドがオブジェクトの場合は、その中の値を参照します。たとえば、ユーザー カスタム フィールドの場合は次のようにします。
{{issue.My user field.displayName}}
フィールド名は大小文字が区別されて、ルール アクターの言語設定で翻訳されます。スマート値の名前が翻訳されているカスタム フィールドにアクセスするには、ルール アクター ユーザー用に設定された言語を使用します。
同名のカスタム フィールドが複数ある、またはカスタム フィールドがシステム フィールドと同名の場合は、カスタム フィールド ID も使用できます。
{{issue.customfield_10001}}
詳細については「課題フィールドへのアクセス」をご参照ください。
セクションとリストに #
を使用する
複数のアイテムを反復する際は、#
を使用します。スマート値でキャプチャされるすべてについて同じことを実行します。#
を使用する際は、必ず {{/}}
で終わる必要があります。次の例では、アクションによってコメント作成者のリストが表示されます。
{{#issue.comments}}Author: {{author.displayName}}{{/}}
項目を数値として扱うには、数学関数を使用する際は {{#=}}
を使用します。たとえば、利用可能な課題の「請求金額」カスタム フィールドに 100 を追加するという簡単な計算を実行する場合は、次のようにします。
{{#=}}{{issue.Invoice Amount}} + 100{{/}}
既定値
フィールドまたは値が存在しない場合、通常は空の値を返します。{{invalid reference}}
値が必要な場合は、既定値を指定できます。たとえば「invalid reference」に値が含まれていない場合は、{{invalid reference|Hello world}}
によって「Hello world」を表示できます。