プロセス テンプレートに追加する作業項目クエリの定義
チーム エクスプローラーを使用すると、作業項目クエリ ファイル (.wiq) を簡単に作成できます。 既存のチーム プロジェクトでは、チーム エクスプローラーを使用してすべての作業項目クエリを作成できます。これらのクエリは、プロセス テンプレートに追加してから、このトピックの手順に従って各クエリを .wiq ファイルで保存します。 作業項目クエリを作成する方法の詳細については、「作業項目のクエリ」を参照してください。
必要条件
クエリを作成するには、読み取りユーザー グループのメンバーであるか、または [このノードの作業項目を表示します] のアクセス許可が、クエリの各チーム プロジェクトに対して [許可] に設定されている必要があります。
クエリをチーム クエリとして保存するには、「クエリに対するアクセス許可の設定」で説明されているように、適切なアクセス許可が付与されている必要があります。
作業項目クエリを .wiq ファイルとして保存
チーム エクスプローラー で、保存するクエリを開きます。
[ファイル] メニューの [名前を付けて <クエリ名> [クエリ] を保存] を選択します。
[クエリに名前を付けて保存] ダイアログ ボックスで、[ファイル] をクリックし、.wiq ファイルの場所とファイル名を指定します。 または、[参照] をクリックし、ファイル名を指定して、ファイルを保存する場所を参照し、[保存] をクリックします。
\WorkItem Tracking\Queries フォルダーにファイルをコピーします。このフォルダーは、プロセス テンプレートをダウンロードしたフォルダーの中にあります。
wiq ファイルをテキスト エディターで開きます。
次の例に示されているようにして、<TeamFoundationServer> 要素と <TeamProject> 要素を削除します。これらの要素は、Visual Studio Team Foundation Server を実行している特定のサーバーと特定のチーム プロジェクトに対してクエリを関連付けます。
<TeamFoundationServer>CollectionURL</TeamFoundationServer> <TeamProject>ProjectName</TeamProject>
注意
.wiq ファイルをテキスト エディターで編集し、<TeamFoundationServer> 要素と <TeamProject> 要素を削除する必要があります。これらの要素は、特定のサーバーとチーム プロジェクトに対してクエリを関連付けます。この操作を実行しなかった場合、異なるサーバーにプロセス テンプレートがアップロードされたときにクエリが正しく動作しません。または、可能な場合はマクロを使用して、現在のチーム プロジェクトの明示的な名前、または特定の環境に固有の他の値がクエリに含まれないようにします。
ユーザーに固有の要素を削除します。
イテレーション パスを参照する作業項目クエリの作成
特定のイテレーション パスを参照するクエリを定義するには、チーム プロジェクトのマクロ $$PROJECTNAME$$ と、分類プラグイン ファイルで定義されているイテレーション パスの名前を含めます。 たとえば、次の構文では、イテレーション パスが Iteration 1 の下にある作業項目のみを含むクエリを指定します。
AND [Source].[System.IterationPath] UNDER '$$PROJECTNAME$$\Iteration 1'
チーム プロジェクトが作成されたら、マクロがそのチーム プロジェクト名で置き換えられます。
このマクロを使用して、特定のイテレーション パスを参照するブックを定義できます。 MSF アジャイル ソフトウェア開発用のプロセス テンプレートには、イテレーション固有のブック (Iteration Backlog.xlsm) をサポートするイテレーション固有のクエリ (Iteration1Backlog.wiq) が含まれています。
イテレーション固有のクエリをアップロードするときは、必ず、Classification.xml ファイルを処理するタスクをクエリ ファイルを処理するタスクよりも前に完了します。 詳細については、「分類プラグインの定義」および「プロセス テンプレート プラグイン ファイルを使用したルート タスクの定義」を参照してください。
イテレーション固有の作業項目クエリの例
次の例は、Iteration Backlog ブックをサポートする Iteration1Backlog 作業項目クエリを示しています。
<?xml version="1.0" encoding="utf-8"?>
<WorkItemQuery Version="1">
<Wiql>
SELECT [System.Id],
[System.WorkItemType],
[System.Title],
[System.State],
[System.AssignedTo],
[Microsoft.VSTS.Scheduling.RemainingWork],
[Microsoft.VSTS.Scheduling.CompletedWork],
[Microsoft.VSTS.Scheduling.StoryPoints],
[Microsoft.VSTS.Common.StackRank],
[Microsoft.VSTS.Common.Priority],
[Microsoft.VSTS.Common.Activity],
[System.IterationPath],
[System.AreaPath]
FROM WorkItemLinks
WHERE (Source.[System.TeamProject] = @project
AND [Source].[System.AreaPath] UNDER @project
AND [Source].[System.IterationPath] UNDER '$$PROJECTNAME$$\Iteration 1'
AND (
Source.[System.WorkItemType] = 'User Story'
OR Source.[System.WorkItemType] = 'Task'
)
)
AND [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward'
AND [Target].[System.WorkItemType] = 'Task'
ORDER BY [Microsoft.VSTS.Common.StackRank], [Microsoft.VSTS.Common.Priority]
mode(Recursive)
</Wiql>
</WorkItemQuery>
WorkItemQuery 要素リファレンス
次の構文は、WorkItemQuery 要素およびその子要素の構造を示しています。
<WorkItemQuery Version="1">
<TeamFoundationServer>collectionURL </TeamFoundatonServer>
<TeamProject>TeamProjectName </TeamProject>
<Wiql>
WorkItemQueryLanguage
</Wiql>
</WorkItemQuery>
要素 |
構文 |
説明 |
---|---|---|
TeamFoundationServer |
|
WorkItemQuery の子要素です (省略可能)。 重要 通常、この要素はプロセス テンプレートに追加したクエリから削除します。 チーム プロジェクト コレクションの URI を次の形式で指定します。 http:// ServerName:Port/VirtualDirectoryName/CollectionName 仮想ディレクトリを使用していない場合、次の URI 形式を使用します。 http:// ServerName:Port/CollectionName 属性型は 2047 以内の ServerNameType です。 |
TeamProject |
|
WorkItemQuery の子要素です (省略可能)。 重要 通常、この要素はプロセス テンプレートに追加したクエリから削除します。 クエリの実行対象となるチーム プロジェクトを指定します。 属性型は 255 文字以内の ProjectNameType です。 |
Wiql |
|
WorkItemQuery の子要素です (必須)。 チーム プロジェクト内の作業項目のセットを検索し、一連のフィールドに割り当てられた値を返すため、フィルター条件として動作する Structured Query Language (SQL) コマンドのシーケンスを指定します。 MSF プロセス テンプレートには、Wiql 要素をサポートする SQL コマンドの例がいくつか用意されています。 これらのファイルは、作業項目トラッキング フォルダーの Queries フォルダー内にあります。 |