2017-02-28 35 views
1

我需要检索TFS 2015.2所有工作项目使用REST API如何获得在TFS 2013的所有工作项目使用REST API

我刚才提到以下链接从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' 

但是这个网址结束了什么,但错误

Error

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

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

请善待足以表现出一定的光来克服这个问题。

+0

您需要检索TFS 2015.2所有工作项目,即使你在标题和标签采用TFS2013。你实际使用哪个TFS版本? –

+0

嗨,帕特里克,2015.2。关于混乱对不起,并感谢了很多伟大的解决方案 – Lalindu

回答

0

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

TFS 2015年语法

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

例如,以下超链接列出了ID,标题和托管Fabrikam的服务器上的FabrikamFiber /网络区域路径下的所有错误的状态和它的编码网址

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 

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


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

+0

非常感谢帕特里克,我需要在REST API的所有“错误”类型的工作项(使用查询),但没有例子让工作项目没有定义ID(IM指https://www.visualstudio.com/en-us/docs/integrate/api/wit/work-items)。是否有可能完成这项任务?如果有,我可以举个例子吗? – Lalindu

+0

@Lalindu这是可能的,你只需要在请求体中使用'[System.WorkItemType] =“Bug''。更详细信息,请看一看这个类似的问题:http://stackoverflow.com/questions/38524918/how-to-get-tfsteam-foundation-server-work-itemsbug-task-details-using-rest-a –

相关问题