如何使用 REST 在 TFS 2013 中获取所有工作项 API

How to get all work items in TFS 2013 using REST API

我需要使用 REST 检索 TFS 2015.2 中的所有工作项 API

我在下面提到了 link 来自 Microsoft

https://www.visualstudio.com/en-us/docs/work/track/using-queries

下面是我使用的类似 url 模式,

http://fabrikam:8080/tfs/DefaultCollection/q.aspx?pname=FabrikamFiber&wiql=SELECT [System.ID], [System.Title], [System.State] FROM WorkItems WHERE [System.TeamProject]='FabrikamFiber' AND [System.WorkItemType]='Bug' 

然而,这个 url 最终以错误告终

Error

错误 您要查找的页面当前不可用。

TF400914:指定的团队 q.aspx 不存在或您无权访问它。

请多多关照以解决此问题。

注意 TFS 2015 要求您编码 URL 语法的 WIQL 部分。您可以使用任何 URL 编码器工具来编码您的 URL.

TFS 2015 语法

https://{ServerName}/{CollectionName}/{TeamProjectName}/_workitems?_a=query&wiql={Encoded WorkItemQueryLanguage]

例如,以下超链接列出了托管在 fabrikam 服务器上的 FabrikamFiber/Web 区域路径下的所有错误的 ID、标题和状态,并且它是 编码的 url.

http://fabrikam:8080/tfs/DefaultCollection/FabrikamFiber/_workitems?_a=query&wiql=SELECT%20%5BSystem.ID%5D%2C%20%5BSystem.Title%5D%2C%20%5BSystem.State%5D%20FROM%20WorkItems%20WHERE%20%5BSystem.TeamProject%5D%3D'FabrikamFiber'%20AND%20%5BSystem.WorkItemType%5D%3D'Bug'%20AND%20%5BSystem.AreaPath%5D%3D'FabrikamFiber%5CWeb'%20%20

根据您的 url,如果您需要检索 TFS 2015.2 中的所有工作项,您似乎仍在使用 TFS 2013 语法。请改用 TFS2015 语法。


如果您需要检索 TFS2013 中的所有工作项。定义超链接的最简单方法是创建一个与您想要的相匹配的查询,然后复制该查询的 URL。在网络 portal/team 资源管理器中创建相同的查询以缩小问题范围以查看您是否能够获取所有工作项。并直接复制 url 以仔细检查您的 url 格式。