Joe*_*ler 9 tfs kanban tfs-sdk tfs2012
有没有办法使用TFS 2012 API以编程方式访问WorkItem的"看板列"?
使用Scrum 2.2模板,每当在Board上的Kanban列之间拖动工作项时,Bug或Product Backlog Item的历史记录都会将"[MyProject\MyTeam]看板列"显示为已更改的字段,但具体情况下无法访问该字段通过TFS API检索工作项.
在接口上WorkItemChangedEvent实现ProcessEvent方法时,它还显示为对象中的已更改字段Microsoft.TeamFoundation.Framework.Server.ISubscriber.
解决方法:
一位同事发现了一篇关于创建一个只读自定义字段的博客文章,以保留看板列的价值,利用它WorkItemChangedEvent来捕获最新值.然后可以在此列上查询.这种方法的一个问题是只能跟踪单个团队的看板列.
更新: 根据这篇博文,看板栏不是一个字段,而是一个"WIT扩展".这可能有助于找到答案.
我已经找到了一种在ISubscriber.ProcessEvent方法中使用TFS 2013 API 读取值的方法:
var workItemId = 12345;
var extService = new WorkItemTypeExtensionService();
var workItemService = new WorkItemService();
var wit = workItemService.GetWorkItem(requestContext, workItemId);
foreach (var wef in extService.GetExtensions(requestContext, wit.WorkItemTypeExtensionIds))
{
foreach (var field in wef.Fields)
{
if (field.LocalName == "Kanban Column" || field.LocalName == "Backlog items Column")
{
// Access the new column name
var columnName = wit.LatestData[field.Field.FieldId];
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3246 次 |
| 最近记录: |