Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用REST API获取TFS 2013中的所有工作项_Tfs_Tfs Workitem - Fatal编程技术网

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

如何使用REST API获取TFS 2013中的所有工作项,tfs,tfs-workitem,Tfs,Tfs Workitem,我需要使用RESTAPI检索TFS 2015.2中的所有工作项 我已经参考了下面来自微软的链接 下面是我使用的类似url模式 http://fabrikam:8080/tfs/DefaultCollection/q.aspx?pname=FabrikamFiber&wiql=SELECT [System.ID], [System.Title], [System.State] FROM WorkItems WHERE [System.TeamProject]='FabrikamFiber

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

我已经参考了下面来自微软的链接

下面是我使用的类似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最终只会出错

错误 您正在查找的页面当前不可用

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


请善意地展示一些解决此问题的方法。

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

TFS 2015语法

https://{ServerName}/{CollectionName}/{TeamProjectName}/_workitems?_a=query&wiql={Encoded WorkItemQueryLanguage]
例如,下面的超链接列出了fabrikam服务器上托管的FabrikamFiber/Web区域路径下所有bug的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。在web portal/team explorer中创建相同的查询,以缩小问题范围,查看是否能够获取所有工作项。并直接复制url以再次检查您的url格式。

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

TFS 2015语法

https://{ServerName}/{CollectionName}/{TeamProjectName}/_workitems?_a=query&wiql={Encoded WorkItemQueryLanguage]
例如,下面的超链接列出了fabrikam服务器上托管的FabrikamFiber/Web区域路径下所有bug的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。在web portal/team explorer中创建相同的查询,以缩小问题范围,查看是否能够获取所有工作项。并直接复制url以仔细检查url格式。

您需要检索TFS 2015.2中的所有工作项,即使您在标题和标记中使用了TFS2013。您实际使用的是哪个TFS版本?嗨,Patrick,是2015.2。很抱歉出现混淆,非常感谢您提供了出色的解决方案您需要检索TFS 2015.2中的所有工作项,即使您在标题和标记中使用了TFS2013。您实际使用的是哪个TFS版本?嗨,Patrick,是2015.2。很抱歉造成混淆,非常感谢您提供了出色的解决方案非常感谢Patrick,我需要在REST API中获取所有“Bug”类型的工作项(使用查询),但没有任何示例可以在不定义ID的情况下获取工作项(我指的是)。有可能完成这项任务吗?如果可以,我可以举个例子吗?@Lalindu有可能,您只需要在请求正文中使用
[System.WorkItemType]=“Bug”
。更多详细信息请看这个类似的问题:非常感谢Patrick,我需要在RESTAPI中获取所有“Bug”类型的工作项(使用查询),但是没有任何示例可以在不定义ID的情况下获取工作项(im引用)。有可能完成这项任务吗?如果可以,我可以举个例子吗?@Lalindu有可能,您只需要在请求正文中使用
[System.WorkItemType]=“Bug”
。更多详细信息请查看此类似问题: