2016-07-29 1 views
1

Я пытаюсь выполнить сканирование наборов изменений с сервера TFS 2015 через API. Я использую параметры $top и $skip, чтобы выполнить подкачку, как описано. Однако некоторые нечетные поведения происходят:Как внести изменения в таблицу через TFS 2015 REST API

  • Запрос 255 возвращает все элементы 255. Запрос 256 и выше, только возвращает 132.
  • Заголовок HTTP Ссылка не включается в ответ на второй странице - предотвращение автоматического сканирования.
  • Вручную приращение параметра $skip в браузере возвращает ноль.

Возможно ли использовать элементы страницы через API или ограничения на использование TFS для предотвращения этого?

+0

Просто попробовал использовать почтовый перевод, и это работает в моем случае. Установлено ли обновление 3? – Legends

+0

@Legends It's Update 2 (номер сборки: 14.95.25122.0). – Talon

ответ

0

API может возвращать только 256 наборов изменений. Таким образом, чтобы получить все из них вам нужно:

1) получить первые 256 ревизий (я использовал OrderBy в случае различного порядка в ответах):

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

2), если у вас есть больше, чем 0 пунктов в ответ получить последнее значение changeetNumber от ответа. Если 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