既定値の定義またはフィールドへの値のコピー
フィールドに既定値を指定することも、別のフィールドの値またはシステム定義の値をコピーすることもできます。フィールド既定値は、フィールド値の自動的な割り当てを制御するための規則です。フィールドの既定値を割り当てるには、COPY、DEFAULT、SERVERDEFAULT の各要素のいずれかを使用します。これらの要素は、FIELD (定義) 要素または FIELD (ワークフロー) 要素の子要素として指定できます。
COPY 要素および DEFAULT 要素は編集を始めたときに値が設定されますが、SERVERDEFAULT 規則では、作業項目がデータベースにコミットされる時点で値が設定されます。このアクションは、ユーザーが作業項目の変更内容を保存するときに発生しますが、ユーザーが値をオーバーライドすることはできません。通常このようなフィールドは、作業項目フォームには読み取り専用として表示されます。SERVERDEFAULT 規則が使用されるのは、セキュリティ監査のトラッキングをサポートするための "最終更新者" や "最終更新日時" などのフィールドです。
このトピックの内容
既定値を定義する場合の構文構造
既定値の定義
フィールドの自動クリア
フィールド値の保存
既定値としてのクロックの指定
既定値を定義する場合の構文構造
COPY、DEFAULT、および SERVERDEFAULT の各要素を使用すると、あるフィールドから別のフィールドへの値のコピーやフィールドへのサーバー値のコピー、またはフィールドに定義する既定値の指定を行うことができます。
[!メモ]
作業項目が変更中である場合、COPY または DEFAULT 要素の規則により、ソース フィールドの現在の値または直前の値が選択される可能性があります。
別のフィールドからコピーする値、クロックの値、または現在のユーザーの名前を指定できます。value または field を from 属性に指定する場合は、value 属性または field 属性を指定する必要があります。作業項目の変更時または作成時に、フィールドの既存の値とは無関係に COPY 規則の値がフィールドに設定されます。
<COPY for="userGroupName" not="userGroupName" from="value | field | clock | currentuser" value="valueToCopy" field="fieldReferenceName/>
DEFAULT 規則を使用して、フィールドの既定値を指定できます。作業項目の作成時または編集時に、このフィールドが空の場合は、DEFAULT 規則の値が設定されます。別のフィールドからコピーする値、サーバー クロックで記録される日付時刻スタンプ、または現在のユーザーの名前を指定できます。フィールドに既に値がある場合は、この規則は無視されます。
<DEFAULT for="userGroupName" not="userGroupName" from="value | field | clock | currentuser" value="defaultValue" field="fieldReferenceName" />
作業項目を保存するときに、サーバーからフィールドにコピーする値を指定できます。ユーザーが作業項目の状態を変更すると、SERVERDEFAULT 規則では、サーバー コンポーネントから派生した値から現在のフィールドにコピーする値を指定します。DEFAULT 要素および COPY 要素では、ユーザーが変更を加えるために作業項目を開いたときに値が設定されますが、SERVERDEFAULT 規則では、作業項目がデータベースにコミットされる時点で値が設定されます。このアクションは、ユーザーが作業項目を保存すると発生します。ユーザーが値をオーバーライドすることはできません。通常これらのフィールドは、フォームには読み取り専用として表示されます。SERVERDEFAULT 規則が使用されるのは、セキュリティ監査のトラッキングをサポートするための "最終更新者" や "最終更新日時" などのフィールドです。
<SERVERDEFAULT for="userGroupName" not="userGroupName" from="clock | currentuser" />
これらの規則要素には、値をどこから取得するかを from="fromType" 属性で指定します。fromType 値に応じて、追加の属性が必要になることがあります。次の表に、COPY、DEFAULT、および SERVERDEFAULT の各規則要素が参照するすべての属性を示します。
属性 |
Description |
---|---|
for |
省略可能です。この規則を適用する Team Foundation のユーザーまたはグループの名前を指定します。有効な名前は、1 ~ 255 文字のテキスト文字列で構成されます。 パターン値 : ^[^\\]+\\[^\\]+$ パターン値の例: Domain\UserID |
not |
省略可能です。この規則を適用しない Team Foundation のユーザーまたはグループの名前を指定します。有効な名前は、1 ~ 255 文字のテキスト文字列で構成されます。 パターン値 : ^[^\\]+\\[^\\]+$ パターン値の例: Domain\UserID |
from |
必ず指定します。既定値のコピー元として、value 属性、field 属性、システム時計、または現在のユーザーのいずれかを指定します。value または field を from 属性に指定する場合は、value 属性または field 属性をそれぞれ指定する必要があります。次の値を指定できます。
|
value |
省略可能です。value が from 属性に指定されている場合、フィールドにコピーされる値を指定します。有効な値は、1 ~ 255 文字のテキスト文字列で構成されます。 コピーする値は空でもかまいません。 |
field |
省略可能です。field が from 属性に指定されている場合、フィールドにコピーされる値を持つフィールドの名前を指定します。from 属性の値が "field" の場合、この属性を定義する必要があります。 コピーするフィールドの参照名です。参照名は、FIELD (定義) 要素で定義されている参照名と一致する必要があります。詳細については、「FIELD (定義) 要素」を参照してください。 パターン値 : ^[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z0-9_]+)+$ パターン値の例 : Company.Division.IssueType |
ページのトップへ
既定値の定義
次の例では、Priority フィールドの既定値として P3 を設定します。
<FIELD refname="MyCorp.Priority" name="Priority" type="String">
<HELPTEXT>Specify the severity of the problem</HELPTEXT>
<ALLOWEDVALUES>
<LISTITEM value="P1"/>
<LISTITEM value="P2"/>
<LISTITEM value="P3"/>
</ALLOWEDVALUES>
<DEFAULT from="value" value="P3"/>
</FIELD>
ページのトップへ
フィールドの自動クリア
次の例では、status フィールドをクリアします。
<FIELD refname="MyCorp.Status" name="Status" type="String">
<COPY from="value" value="" />
</FIELD>
ページのトップへ
フィールド値の保存
次の例では、作業項目を最後に変更したユーザーの名前を保存します。
<FIELD refname="System.Last Changed By" name="Last Changed By" type="String">
<HELPTEXT>The name of the user who most recently modified this bug</HELPTEXT>
<VALIDUSER group="[Project]\MyProjectMembers" />
<SERVERDEFAULT from="currentuser" />
</FIELD>
ページのトップへ
既定値としてのクロックの指定
次の例では、フィールドの値として現在の日付を使用しますが、ユーザーがこの値を変更することもできます。
<FIELD refname="MyCorp.FoundOn" name="Found On" type="DateTime">
<HELPTEXT>Defines when a bug was found.</HELPTEXT>
<DEFAULT from="clock" />
</FIELD>
[!メモ]
アポストロフィが含まれる "Won’t Fix" などの値の場合は、次の例に示すように、二重引用符を XML で使用する必要があります。
<LISTITEM value="Won’t Fix"/>
ページのトップへ