私は、特定のプロジェクトのブランチに対するすべてのコードレビュー要求を表示するツールを開発中です。今、プロジェクトと対応するブランチリストは正しく配置されています。しかし、私がTeamProjectCollectionのWorkItemStoreでクエリを実行しようとすると、私は間違ってブランチを参照していると思います。ここでTFSブランチに基づいてWorkItemを照会する方法
は、私は、以前のコードでは、分岐情報をロードしています方法は次のとおりです。
var projName = ddlProjects.SelectedItem.ToString();
var vcs = tfs.GetService<VersionControlServer>();
var bos = vcs.QueryRootBranchObjects(RecursionType.Full);
var branchList = bos.Select(branch => branch.Properties.RootItem.Item).ToList();
var finalList = branchList.Where(b => b.Contains(projName)).ToList();
ddlBranches.DataSource = finalList;
は、ここで私は、エラーを投げているクエリを実行している方法は次のとおりです。
using (var tfs = new TfsTeamProjectCollection(new Uri(@"http://myTeamProjectCollectionURL")))
{
var workItemStore = tfs.GetService<WorkItemStore>();
var query = string.Format(@"SELECT *
FROM WorkItems
WHERE [System.TeamProject] = '{0}'
and [System.IterationPath] under '{1}'
and [System.WorkItemType] = 'Code Review Request'", ddlProjects.SelectedItem.ToString(), ddlBranches.SelectedItem.ToString());
WorkItemCollection workItemCollection = workItemStore.Query(query);
そしてここにはありますクエリの結果のエラー:
TF51011: The specified iteration path does not exist. The error is caused by «'$/ProjectName/ReleaseBranch1.0'».
また、私は間違ってキューで参照していると仮定ry。誰かがこれを行う正しい方法を知っていますか?あなたが提供できる任意のヘルプの事前に感謝!
反復パスとブランチは完全に無関係な概念です。ブランチに一致するように反復パスを明示的に設定していますか? –
私は多くを考えました。いいえ、私が知っている限り、彼らはそのように設定されていません。反復パスではなく、クエリ内のブランチを参照する方法はありますか? –