为什么用于获取 TFVC 变更集的 TFS Rest API 仅返回 256 个项目。我尝试使用 $Top 获得超过 256 个结果。但没有用。
用于获取 Git 存储库提交的 API 工作正常。
我指的是https://www.visualstudio.com/en-us/docs/integrate/api/tfvc/changesets
样品请求https://tfs.domain.com/tfs/defaultcollection/projectname/_apis/tfvc/changesets?$searchCriteria.fromDate=2016-07-12T17:49:01&$skip=0&$top=500
我也尝试过不使用 $skip 和 $searchcriteria.fromdate 。请帮助我了解如何获得所有结果。
我设法解决了这个奇怪的逻辑(谢谢 MSFT 的朋友们,你们太棒了:/)。
就我而言,我想获取所有变更集。
1)您需要获取前 256 个变更集(我使用 orderby 以防响应顺序不同):
<projectName>/_apis/tfvc/changesets?$top=256&orderby=id desc&searchCriteria.itemPath=<your_path>&api-version=1.0
2) 如果响应中有超过 0 个项目,则从响应中获取 ChangesetNumber 的最后一个值。如果为 0 - 您获得了所有变更集。
3) 获取从changesetNumber开始的接下来的256个项目:
<projectName>/_apis/tfvc/changesets?searchCriteria.toId=<changesetNumber>&$top=256&orderby=id desc&searchCriteria.itemPath=<your_path>&api-version=1.0
您需要跳过第一个变更集(您已经具有此值)作为响应。
4)转到步骤2
因此,您需要将changesetId替换为createdDate,将searchCriteria.toId替换为searchCriteria.fromDate。
我希望我的解决方案能够帮助您。
附:我在连接网站上找不到任何反馈。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)