创建VSTS Extension,使用WIQL查询抓取工作项数据,是否可以抓取Activity字段数据?

Creating a VSTS Extension, using WIQL query to grab work item data, can I grab Activity field data?

我正在创建一个 Visual Studio Team Services 扩展,在其当前迭代中应该显示已添加到工作项的用于开发、测试等的子任务。我构建了一个 WIQL 查询来获取这些任务和一些关于它们的数据。

在 VSTS(和 TFS)中,任务有一个 Activity 字段,我想要它来区分不同类型的任务(开发、测试等)。但是,我发现我创建的以下 WIQL 查询出现以下错误:TF51005:查询引用了一个不存在的字段。该错误是由 «[System.Activity]» 引起的。 有没有办法让我可以访问这些任务的 Activity 字段?还是目前不支持?

SELECT [System.Id], [System.WorkItemType], [System.Title], 
       [System.Activity], [System.State] 
FROM WorkItemLinks 
WHERE (Source.[System.TeamProject] = 'someProjectID' 
    AND Source.[System.Id] = someWorkItemID
    AND Source.[System.State] <> 'Removed') 
    AND ([System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward') 
    AND (Target.[System.WorkItemType] = 'Task') 
MODE(Recursive)

通过这个工作我发现 https://marketplace.visualstudio.com/items?itemName=ottostreifel.wiql-editor,这有助于更轻松地调试我的 WIQL 查询。我强烈推荐给刚开始使用 WIQL 的任何人。

我又看了一些,发现了我的答案,显然 Microsoft.VSTS.Common.Activity 是您想要引用的字段以获取任务的 activity。我在这里找到它:https://www.visualstudio.com/en-us/docs/work/track/query-numeric。看起来那里有一些关于您可以获取的数据的更多信息,例如 Microsoft.VSTS.Scheduling.StoryPoints。然而,这绝对不是一个完整的清单,我也找不到。如果您知道完整的参考列表可用于获取有关工作项的任何信息,请随时对此发表评论!

您可以在 Web 访问中创建一个包含必要字段的查询,然后使用 Get a query or folder REST API 获取详细信息 wiql(添加 $expand=wiql参数).