在TFS待办事项板中按列名称获取工作项
本文关键字:工作 获取 TFS | 更新日期: 2023-09-27 18:03:33
我的待办事项中有一个带有定制列的板。是否有办法在一个特定的列中获得所有用户故事 ?
我有两个列具有相同的状态"active",所以我不能按状态过滤,我需要按列名过滤。例如,我需要在列'A'(状态激活)中获得'用户故事',而不返回列'B'(也激活)中的'用户故事'。
Update:程序不在安装TFS的同一台计算机上运行。我需要在客户端这样做。
public class Program
{
static void Main(string[] args)
{
Uri collectionUri = new Uri("http://tfs-server/tfs");
TfsConfigurationServer configurationServer =
TfsConfigurationServerFactory.GetConfigurationServer(collectionUri);
ReadOnlyCollection<CatalogNode> collectionNodes = configurationServer.CatalogNode.QueryChildren(
new[] { CatalogResourceTypes.ProjectCollection },
false,
CatalogQueryOptions.None);
Guid collectionId = new Guid(collectionNodes[0].Resource.Properties["InstanceId"]);
TfsTeamProjectCollection teamProjectCollection = configurationServer.GetTeamProjectCollection(collectionId);
var workStore = teamProjectCollection.GetService<WorkItemStore>();
var storiesInA = workStore.Query(
@" Select [State], [Title] From WorkItems
Where
[Work Item Type] = 'User Story' and
[State] = 'Active' and
[System.AreaPath] = 'MyPath'
Order By [State] Asc, [Changed Date] Desc");
}
}
看板列是特定于团队的,需要通过团队特定的上下文来访问。你可以通过TFS中的WorkItemTypeExtensionService来访问它。你可以在这里找到答案:
- 访问工作项的看板列(团队特定字段)