Insight はさまざまなプレースホルダーをサポートしているため、コンテキストに応じて、特定のプレースホルダーを課題フィールド値、Insight オブジェクト属性値、またはその他の Insight 関連情報から動的に置き換えられます。

When and why would we want to use placeholders?

Some use cases to illustrate when placeholders would come to the rescue: 

ライセンスの有効期限が近づいた際に、その特定のライセンスの名前終了日を記載したメールを受信します。

Set / Update an Object attribute with the value from an Issue field when Issue is moved to a specific status.

What these two use cases have in common is that we know "where to find the value" but not what the specific value will be at the time we are setting up our configuration. That's when / why we need to use placeholders to "find the desired value" when needed.  

The placeholder is something to use when configuring an actions and the value that we want to have is dependent on the context of the runtime. E.g. we do not know which object will be triggering the action and therefore we do not know the value. 

プレースホルダーの構造

The placeholders are structured like this

構文
${Name of placeholder}
or
${Name of placeholder${Number}}


Why do we have these multiple structures that are hard to grasp? It is because it offers the most configuration possibilities. The following table describes how they are used with the example shown in the screenshot below.

オブジェクトの例

プレースホルダーWhat it does

プレースホルダーの例

値に置き換える
${Name of placeholder}Replaces the content ${Name of placeholder} with the value matched by Name of placeholder${Name}1 つのオブジェクト
${email}myemail@fakse.se,anotheremail@fakse.se
${Name of placeholder${0}}Replaces the content ${Name of placeholder${0}} with all values matched by Name of placeholder. This is used to match multiple values e.g. when populating an attribute with multiple cardinality and all values will be one instance of that attribute. When replaced as text this is similar to the above example but when replaced in a multi value context this notation will render multiple values but the above will render one value as a comma separated string.${Price${0}}12
${Email${0}}myemail@fakse.se,anotheremail@fakse.se
${Name of placeholder${1}}Replaces the content ${Name of placeholder${1}} with the first value matched by Name of placeholder. This is used when only the first value is required${Price${1}}12
${Email${1}}myemail@fake.se
${Name of placeholder${n}}Replaces the content ${Name of placeholder${n}} with the n:th value matched by Name of placeholder. This is used when only the n:th value is required${Price${2}}<空の値>
${Email${2}}anotheremail@fakse.se
${Email${4}}<空の値>

Context with placeholders

The following section describes what data can be replaced in different contexts

Sometimes placeholder can supply multiple values. If that is the case the placeholder ${Name of placeholder${i}} can be used.
The most common configuration is ${Name of placeholder${0}} which renders a comma separated list of all values provided by the placeholder e.g.

Attribute IN ( ${Name of placeholder${0}} )

It is possible to use ${Name of placeholder${1}} to get hold of only the first value as well.


インポート

Read more about the placeholder in the import documentation

Placeholder Name
Data locatorThe value that is found in the external data source from the data locator

The placeholders are used as part of the IQL 

自動化

Read more about the automation 

Placeholder Name説明
属性名属性値プレースホルダーと同じ名前の属性の値。これによって、人間が読み取れる形式で属性がレンダリングされます。
Attribute Name.id格納された属性値プレースホルダーと同じ名前の属性の値。これによって、格納された形式で属性がレンダリングされます。たとえば、属性がオブジェクト参照の場合は、参照されたオブジェクト ID がレンダリングされます。これは、提示された値とは別の値で格納された属性でのみ機能します。
ラベルオブジェクトのラベル値は、オブジェクトに設定されたラベルに置き換えられます。
objectTypeオブジェクトのオブジェクト タイプ名値はオブジェクト タイプ名で置き換えられます。
objectTypeIdオブジェクト タイプ ID値は、現在のオブジェクトのオブジェクト タイプ ID に置き換えられます。
objectIdオブジェクト ID (キー以外)このオブジェクトを識別する整数。
キーオブジェクトのキー現在のオブジェクトのキー値。

オブジェクトを作成/編集する

オブジェクト参照属性を使用してオブジェクトを作成するか編集する際は、オブジェクトの選択を制限するための IQL を指定できます。利用可能なプレースホルダーは、作成/編集ダイアログで使用できるすべての属性です。 

Placeholder Name説明
属性名属性値プレースホルダーと同じ名前の属性の値。これによって、人間が読める形式で属性がレンダリングされます
Attribute Name.id格納された属性値プレースホルダーと同じ名前の属性の値。これによって、格納された形式で属性がレンダリングされます。たとえば、属性がオブジェクト参照の場合、これは参照されるオブジェクトの ID になります。

The placeholders used by the IQL are always the value to the right hand side of the configuration and the placeholders are replaced by values from the current object but the IQL is referencing attributes from the target object type. 

There is a video available demonstrating how this can be configured:



事後操作

Insight comes with a bunch of post functions. Some of them support placeholders to get issue data. The following ones support placeholders:


カスタム フィールド

The standard Insight custom field "Insight Object/s" supports placeholders where any issue field data can be applied. This is configured in the "Issue Scope IQL" and can be constructed as the following example:

Issue Scope IQL:

Organisation = ${customfield_12345.name} AND Location = ${Country} AND "Issue Type" like ${issuetype.name}


プレースホルダーは、基礎となる特定のオブジェクトの識別子に置き換えられます。複数の値がある場合は、IQL で IN を忘れずにご利用ください。

カスタム フィールド キーCustom field Name${placeholder.id}/$ {placeholder.key}${placeholder.name} / ${placeholder.label}
${customfield_xxxxx}<カスタム フィールド名>識別子ラベル/名前


This is the keys for the issue placeholders to use for JIRA fields. Make sure to use IN for multi values to not break the IQL

課題キーラベル/説明複数タイプ${key.id}${key.label}
鍵 (キー)課題キーfalse文字列鍵 (キー)鍵 (キー)
影響を受けるバージョン影響を受けるバージョンtrueバージョンID名前
担当者担当者falseApplicationUserユーザー キー表示名
description説明 false文字列descriptiondescription
dueDate期日false日付dueDatedueDate
修正バージョン修正バージョンtrueバージョンID名前
課題キー課題キーfalse文字列鍵 (キー)鍵 (キー)
environment環境false文字列environmentenvironment
issuetype課題タイプfalse課題タイプID名前
creator作成者falseApplicationUserユーザー キー表示名
labelsラベルtrue文字列labelslabels
コンポーネントコンポーネントtrueProjectComponentID名前
attachments添付ファイルtrue添付ファイルIDfilename
優先度PriorityfalsePriorityID名前
pidプロジェクトfalseプロジェクトID名前
reporter報告者falseApplicationUserユーザー キー表示名
resolutionソリューションfalseソリューションID名前
votes投票数trueLongvotesvotes
watchersウォッチャーtrueLongwatcherswatchers
resolutionDate解決日false日付resolutionDateresolutionDate
created作成日false日付createdcreated
updated更新日false日付updatedupdated
ステータスステータスfalseステータスID名前
要約要約false文字列要約要約

The "issuetype" placeholder does not work in Service Desk requests. You must use a custom field instead. For example, this query in JSD will not return any objects:

"Related JIRA Projects" = currentProject() AND "Related JIRA Issue Types"."Name" in (${issuetype.label}) AND Status = "Active"

Whereas this will:

"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"



  • ラベルなし