次の方法で共有


既定値の定義またはフィールドへの値のコピー

フィールドの既定値を指定するか、他のフィールドの値またはシステム定義値からコピーします。 フィールド既定値は、フィールド値がどのように自動的に割り当てられるかを制御する規則です。 次のいずれかの要素を使用することにより、フィールド既定値を割り当てることができます: COPY、DEFAULT、SERVERDEFAULT。 これらの要素は、FIELD (定義) 要素の子要素か、FIELD (ワークフロー) 要素の子要素として指定できます。

これらの要素を作業項目の種類 (WIT) の定義に追加します。 詳細については、「カスタム作業項目の種類 (WIT) の変更または追加」を参照してください。

COPY 要素と DEFAULT 要素には編集を開始するときに値が入力されますが、SERVERDEFAULT 規則は作業項目がデータベースにコミットされるときに値を入力します。 このアクションはユーザーが作業項目への変更を保存するときに生じ、ユーザーが値をオーバーライドすることはできません。 そのようなフィールドは、通常、作業項目フォームでは読み取り専用として表示されます。 SERVERDEFAULT 規則は、保護された監査証跡をサポートするために、[最終更新者] や [最終更新日時] などのフィールドに使用されます。

構文

COPY、DEFAULT、SERVERDEFAULT 要素を使用して、1 つのフィールドから別のフィールドへ値をコピーしたり、サーバー値をフィールドにコピーしたり、フィールドに定義される既定値を指定することができます。

注意

作業項目が変更中の場合、COPY または DEFAULT 要素の規則は、現在の値または直前の値のいずれかをソース フィールドから選択する可能性があります。

  • 別のフィールドからコピーする値、クロックの値、または現在のユーザーの名前を指定することができます。 from 属性に value または field を指定する場合には、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 規則要素が参照するすべての属性を説明しています。

属性

説明

for

省略可能です。 この規則を適用する Team Foundation のユーザーまたはグループの名前を指定します。 有効な名前は、1 ~ 255 文字のテキスト文字列で構成されます。

パターン値: ^[^\\]+\\[^\\]+$

パターン値の例: Domain\UserID

not

省略可能です。 この規則を適用しない Team Foundation のユーザーまたはグループの名前を指定します。 有効な名前は、1 ~ 255 文字のテキスト文字列で構成されます。

パターン値: ^[^\\]+\\[^\\]+$

パターン値の例: Domain\UserID

from

必ず指定します。 value 属性、field 属性、システム クロック、または現在のユーザーから既定値をコピーするかどうかを指定します。 from 属性に value または field を指定する場合には、value または field 属性をそれぞれ指定する必要があります。 次の値を指定できます。

  • clock:  システム クロックから時刻をコピーします。現在の日時を値として使用します。 他の属性は必要ありません。 COPY および DEFAULT 規則の場合、値はローカル コンピューター クロックから取られます。 SERVERDEFAULT 規則の場合、値はコミット時のサーバー クロックから取られます。 DateTime フィールドにのみ有効です。

  • currentuser: ログオンしているユーザーの名前をコピーします。 現在のユーザーの短いユーザー名を値として使用します。 他の属性は必要ありません。 文字列フィールドにのみ有効です。

  • field: ユーザーが指定する field 属性に定義されている値をコピーします。 field="abc" 属性が必須です。 既定では、指定された "from" フィールドが空白であれば、何も実行されません。 field 属性は、COPY および DEFAULT 規則にのみ使用されます。

  • value: 指定された value 属性の値をコピーします。

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

参照

概念

すべての FIELD XML 要素のリファレンス

その他の技術情報

作業項目フィールドへの規則の適用

作業項目フィールドの定義