詳細: プレースホルダー
アセットはさまざまなプレースホルダーをサポートしているため、コンテキストに応じて特定のプレースホルダーを課題フィールド値、アセット オブジェクト属性値、またはその他のアセット関連情報からのあらゆるものに動的に置き換えられます。
プレースホルダーを使用するタイミング
プレースホルダーがどのように機能するかを示すいくつかのユースケースを紹介します。
- ライセンスの有効期限が近づいた際に、その特定のライセンスの名前と終了日を記載したメールを受信します。
- 課題が特定のステータスに移動した際に、課題フィールドの値でオブジェクト属性を設定/更新します。
これらのユースケースに共通しているのは、どこで値を見つけるかは把握しているものの、必要な時点でどのような値になるかは把握していないということです。プレースホルダーで正しい値を見つけます。
プレースホルダーの構造
プレースホルダーは次のように構成されます。
${Name of placeholder}
or
${Name of placeholder${Number}}
次の表では、プレースホルダーの使用方法といくつかの例を説明します。
プレースホルダー | What it does | プレースホルダーの例 | 値に置き換える |
---|---|---|---|
${Name of placeholder} | ${Name of placeholder} のコンテンツをプレースホルダーの名前と一致する値に置き換えます。 | ${Name} | 1 つのオブジェクト |
${email} | user@example.com、anotheruser@example.com | ||
${Name of placeholder${0}} | ${Name of placeholder${0}} のコンテンツを、プレースホルダーの名前と一致するすべての値と置き換えます。これは複数の値を一致させるために使用されて (複数のカーディナリティを持つ属性を設定する際など)、すべての値はその属性の 1 つのインスタンスになります。テキストとして置き換えた際は上記の例に似ています。複数の値のコンテキストで置き換えた際はこの表記法によって複数の値がレンダリングされますが、上記の場合は 1 つの値をカンマ区切り文字列としてレンダリングします。 | ${Price${0}} | 12 |
${Email${0}} | user@example.com、anotheruser@example.com | ||
${Name of placeholder${1}} | ${Name of placeholder${1}} のコンテンツをプレースホルダーの名前と一致する最初の値に置き換えます。これは、最初の値のみが必要な際に使用されます | ${Price${1}} | 12 |
${Email${1}} | user@example.com | ||
${Name of placeholder${n}} | ${Name of placeholder${n}} のコンテンツを、プレースホルダーの名前と一致する n: 番目の値に置き換えます。これは、n: 番目の値のみが必要な場合に使用されます | ${Price${2}} | <空の値> |
${Email${2}} | anotheruser@example.com | ||
${Email${4}} | <空の値> |
プレースホルダーのコンテキスト
プレースホルダーは、コンテキスト (カスタム フィールド、自動化、事後操作) ごとに異なるデータを置き換えられます。
自動化ルール
自動化ルールの詳細については「自動化ルール」をご参照ください。
プレースホルダー名 | 値 | 説明 |
---|---|---|
属性名 | 属性値 | プレースホルダーと同じ名前の属性の値。これによって、人間が読み取れる形式で属性がレンダリングされます。 |
Attribute Name.id | 格納された属性値 | プレースホルダーと同じ名前の属性の値。これによって、格納された形式で属性がレンダリングされます。たとえば、属性がオブジェクト参照の場合は、参照されたオブジェクト ID がレンダリングされます。これは、提示された値とは別の値で格納された属性でのみ機能します。 |
ラベル | オブジェクトのラベル | 値は、オブジェクトに設定されたラベルに置き換えられます。 |
objectType | オブジェクトのオブジェクト タイプ名 | 値はオブジェクト タイプ名で置き換えられます。 |
objectTypeId | オブジェクト タイプ ID | 値は、現在のオブジェクトのオブジェクト タイプ ID に置き換えられます。 |
objectId | オブジェクト ID (キー以外) | このオブジェクトを識別する整数。 |
キー | オブジェクトのキー | 現在のオブジェクトのキー値。 |
オブジェクトを作成/編集する
オブジェクト参照属性を持つオブジェクトを作成または編集する際に、オブジェクトの選択を制限するために使用する AQL を指定できます。利用可能なプレースホルダーは、作成/編集ダイアログで使用できるすべての属性です。
プレースホルダー名 | 値 | 説明 |
---|---|---|
属性名 | 属性値 | プレースホルダーと同じ名前の属性の値。これによって、人間が読める形式で属性がレンダリングされます |
Attribute Name.id | 格納された属性値 | プレースホルダーと同じ名前の属性の値。これによって、格納された形式で属性がレンダリングされます。たとえば、属性がオブジェクト参照の場合、これは参照されるオブジェクトの ID になります。 |
事後操作
事後操作の詳細については「事後操作」をご参照ください。
次の事後操作はプレースホルダーをサポートしています。
- 選択したアセット オブジェクトの属性に基づくメール ユーザー
- 定義済みの値でオブジェクト属性値を設定する
- AQL クエリに基づいてオブジェクトを割り当てる
カスタム フィールド
カスタム フィールドの詳細については、「アセット カスタム フィールド」をご参照ください。
標準のアセット カスタム フィールド "アセット オブジェクト" は、あらゆる課題フィールド データのプレースホルダーをサポートします。これは「課題スコープ AQL」で設定されて、次の例のように構築できます。
Organisation = ${customfield_12345.name} AND Location = ${Country} AND "Issue Type" like ${issuetype.name}
プレースホルダーは、基礎となる特定のオブジェクトの識別子に置き換えられます。複数の値がある場合は、AQL で IN を忘れずにご利用ください。
カスタム フィールド キー | CustomFieldName | ${placeholder.id}/$ {placeholder.key} | ${placeholder.label} / ${placeholder.name} |
---|---|---|---|
${customfield_xxxxx} | <カスタム フィールド名> | 識別子 | ラベル/名前 |
以下の表は、Jira フィールドに使用する課題プレースホルダーのキーを示しています。課題の作成中は、ステータスなど一部のフィールドは使用できません。AQL を壊さないように、複数の値には必ず IN をご利用ください。
課題キー | ラベル/説明 | 複数 | タイプ | ${key.id} | ${key.label} |
---|---|---|---|---|---|
鍵 (キー) | 課題キー | false | 文字列 | 鍵 (キー) | 鍵 (キー) |
影響を受けるバージョン | 影響を受けるバージョン | true | バージョン | ID | 名前 |
担当者 | 担当者 | false | ApplicationUser | ユーザー キー | 表示名 |
description | 説明 | false | 文字列 | description | description |
dueDate | 期日 | false | 日付 | dueDate | dueDate |
修正バージョン | 修正バージョン | true | バージョン | ID | 名前 |
課題キー | 課題キー | false | 文字列 | 鍵 (キー) | 鍵 (キー) |
environment | 環境 | false | 文字列 | environment | environment |
issuetype | 課題タイプ | false | 課題タイプ | ID | 名前 |
creator | 作成者 | false | ApplicationUser | ユーザー キー | 表示名 |
labels | ラベル | true | 文字列 | labels | labels |
コンポーネント | コンポーネント | true | ProjectComponent | ID | 名前 |
優先度 | Priority | false | Priority | ID | 名前 |
pid | プロジェクト | false | プロジェクト | ID | 名前 |
reporter | 報告者 | false | ApplicationUser | ユーザー キー | 表示名 |
resolution | ソリューション | false | ソリューション | ID | 名前 |
votes | 投票数 | true | Long | votes | votes |
watchers | ウォッチャー | true | Long | watchers | watchers |
resolutionDate | 解決日 | false | 日付 | resolutionDate | resolutionDate |
created | 作成日 | false | 日付 | created | created |
updated | 更新日 | false | 日付 | updated | updated |
ステータス | ステータス | false | ステータス | ID | 名前 |
要約 | 要約 | false | 文字列 | 要約 | 要約 |
issuetype プレースホルダーは Jira Service Management リクエストでは機能しません。次のカスタム フィールドを代用する必要があります。
"Related Jira Projects" = currentProject() AND "Related Jira Issue Types"."Name" in (${issuetype.label}) AND Status = "Active"
"Related Jira Projects" = currentProject() AND ("Related Jira Issue Types"."Name" in (${issuetype.label}) OR "Related Jira Issue Types"."Name" in (${customfield_10654})) AND Status = "Active"