2016-07-29 33 views
1

我试图通过API从TFS 2015服务器上检索更改集。我使用$top$skip参数来记录分页。然而,一些奇数行为发生:如何通过TFS 2015 REST API页面更改集

  • 请求255项返回所有255请求256与上述只返回132
  • 链路HTTP标头不包括在对第二页的响应 - 防止自动爬行。
  • 在浏览器中手动增加$skip参数会返回零个项目。

是否有可能通过API页面项目或TFS的地方限制,以防止它?

+0

刚刚尝试过使用邮差,它适用于我的情况。你有更新3安装? – Legends

+0

@Legends它的更新2(内部版本号:14.95.25122.0)。 – Talon

回答

0

API只能返回256个变更集。因此,要获得所有的人,你需要:

1)获得第256个变更集(我在响应不同的顺序)的情况下使用排序依据:

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

2)如果你有更多的则0项响应从响应中获取changesetNumber的最后一个值。如果0 - 你有所有的变更集。

3)获得下一个256个项目从开始changesetNumber:响应

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

您需要跳过第一变更(你已经有这个值)。

4)转到第2步