テスト、ビルド、バージョン管理との統合をサポートするフィールド
Team Foundation ビルド、Microsoft Test Manager、および Team Foundation バージョン管理 と統合するフィールドを追加することによって、自動化されたプロセスで生成される情報を含むように作業項目の種類をカスタマイズできます。
Team Foundation ビルドと統合するフィールド
Team Foundation ビルド は、Team Foundation Server の自動ビルド システムです。 Team Foundation ビルドを使用することによってビルド プロセスを構成でき、ビルドが失敗した場合は Team Foundation ビルドで作業項目を生成できます。 また、特定のビルドで解決された作業項目にビルド情報を追加できます。 Team Foundation ビルドでこの処理を実行するには、発見されたビルドと統合ビルドの 2 つのフィールドを作業項目の種類の定義に追加する必要があります。
Team Foundation Server が提供する既定のプロセス テンプレートでは、発見されたビルドとビルドに統合フィールドはバグの種類の定義に表示されます。 これらのフィールドは、バグをそのバグが発見されたビルドや修正されたビルドと関連付けます。 WIT 定義にこれらのフィールドを追加するには、次のコード スニペットを使用できます。
<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
<HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
<SUGGESTEDVALUES>
<LISTITEM value="<None>" />
</SUGGESTEDVALUES>
</FIELD>
<FIELD name="Integration Build" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
<HELPTEXT>Product build number this bug was fixed in</HELPTEXT>
<SUGGESTEDVALUES>
<LISTITEM value="<None>" />
</SUGGESTEDVALUES>
</FIELD>
発見されたビルドフィールドが WIT 定義内に存在する場合、Team Foundation ビルド はビルドに失敗すると作業項目を作成し、発見されたビルドフィールドを失敗したビルドのビルド番号に設定します。 発見されたビルド フィールドが存在しない場合、Team Foundation ビルドはビルドが失敗したときに作業項目を作成しません。その他の処理は予定どおりに実行されます。
統合ビルドフィールドが WIT 定義内に存在する場合、Team Foundation ビルド は各ビルドで解決された作業項目を識別し、それらの作業項目を更新して、統合ビルドフィールドに作業項目が解決されたビルド番号を設定します。 統合ビルド フィールドが存在しない場合、Team Foundation ビルドは作業項目にビルド番号を格納しません。その他の処理は予定どおりに実行されます。
変更セットと作業項目とのビルドの関連付け
既定のビルド テンプレートに基づく標準ビルドは変更セットと作業項目をビルドに関連付けます。 この処理は、特定のビルドのビルド定義から過去に成功したビルドのラベルを取得してから、過去のビルドに含まれていないが現在のビルドに含まれている変更セットを特定することによって行われます。 一部または全部の変更セットに作業項目が関連付けられている場合は、それらの作業項目がビルドに関連付けられます。 これは、AssociateChangesetsAndWorkItems activity アクティビティの一部として実行されます。
ビルドとグローバル リスト自動設定
初めて Team Foundation ビルドを使用してチーム プロジェクトのビルドをキューに入れた場合は、TFS が自動的に "Build - <チーム プロジェクト名>" というラベルのグローバル リストを追加します。 ビルドを実行するたびに、LISTITEM がビルドの名前でこのグローバル リストに追加されます。
GLOBALLIST 要素を FIELD 定義に追加することによって、ユーザーが選択可能なビルドのドロップダウン メニューを提供できます。 次に例を示します。
<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
<HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
<SUGGESTEDVALUES>
<LISTITEM value="<None>" />
</SUGGESTEDVALUES>
<SUGGESTEDVALUES expanditems="true" filteritems="excludegroups">
<GLOBALLIST name="Builds - TeamProjectName" />
</SUGGESTEDVALUES>
</FIELD>
Microsoft Test Manager と統合するフィールド
Test Manager を使用すると、テストが失敗した場合にバグまたはその他の種類の作業項目の作成を自動化できます。 詳細については、「Microsoft テスト マネージャーでのバグの送信」を参照してください。
この方法で作業項目が作成された場合、システムに関する情報およびバグを再現する手順はシステム情報フィールドとステップの再現フィールドに取り込まれます。
次のコード スニペットを使用して、障害を追跡するために作成する作業項目の種類にこれらのフィールドを追加できます。
<FIELD name="System Info" refname="Microsoft.VSTS.TCM.SystemInfo" type="HTML" />
<FIELD name="Repro Steps" refname="Microsoft.VSTS.TCM.ReproSteps" type="HTML" />
Test Managerで使用されるその他のフィールドの詳細については、「ビルドとテストの統合フィールド参照」を参照してください。
Team Foundation バージョン管理と統合するフィールド
Team Foundation バージョン管理で使用できるいずれかの機能によって、コードのチェックイン時に作業項目の関連付けまたは解決ができます。 コードの変更時に特定の作業項目を操作していた場合、コードの作業が終了するときに、ソース管理のチェックイン ウィンドウから、その関連付けを設定できます。
Team Foundation バージョン管理 が作業項目を解決するには、その作業項目に特定のアクションが含まれている必要があります。 ソース管理システムは、作業項目トラッキングに問い合わせて、作業項目がそのアクションをサポートするかどうかを判断し、そのアクションがサポートされる場合は、遷移の最初と最後の状態についても問い合わせます。 アクションが見つかった場合、ソース管理システムは、コードにチェックインするときに設定されている遷移に従って作業項目を遷移します。
注意
Checkin アクションを使用する場合は、適切な "from" 状態と "to" 状態を設定して、目的の状態遷移を反映させる必要があります。
アクションの詳細については、「状態、遷移、または理由に基づいたフィールド割り当ての自動化」を参照してください。
Checkin アクションの例
<TRANSITION from="Active" to="Resolved">
....
<ACTIONS>
<ACTION value="Microsoft.VSTS.Actions.Checkin"/>
</ACTIONS>
....
</TRANSITION>
Q & A
Q: ビルドと Test Manager に関連付けられるフィールドは他にもありますか。
A: その他のフィールドの詳細については、「ビルドとテストの統合フィールド参照」を参照してください。