如何通过TFS 2015 REST API分页变更集

时间:2016-07-29 14:48:08

标签: tfs tfs2015

我试图通过API从TFS 2015服务器抓取变更集。我正在使用$top$skip参数进行分页,如文档所示。然而,一些奇怪的行为正在发生:

  • 请求255个项目全部返回255个。请求256个及以上只返回132。
  • 第二页的响应中不包含链接HTTP标头 - 阻止自动抓取。
  • 在浏览器中手动递增$skip参数将返回零项。

是否可以通过API页面项目或TFS是否有限制来阻止它?

1 个答案:

答案 0 :(得分:2)

API只能返回256个变更集。因此,要获得所有这些,您需要:

1)获得前256个变更集(我在响应中使用了orderby,以便不同顺序):

_apis/tfvc/changesets?$top=256&orderby=id desc&searchCriteria.itemPath=<your_path>&api-version=1.0

2)如果您有超过0个项目作为响应从响应中获取changesetNumber的最后一个值。如果为0 - 您获得了所有变更集。

3)从changesetNumber开始接下来的256个项目:

 _apis/tfvc/changesets?searchCriteria.toId=<changesetNumber>&$top=256&orderby=id desc&searchCriteria.itemPath=<your_path>&api-version=1.0

你需要跳过第一个变更集(你已经有了这个值)作为回应。

4)转到第2步