Получить все идентификаторы запросов на получение доступа из Atlassian Stash - PullRequest
0 голосов
/ 09 мая 2018

Мне нужно получить все идентификаторы запросов на получение с помощью REST API. Я использую API ниже, чтобы получить.

https://stash.net/rest/api/1.0/projects/{}/repos/{}/pull-requests?at=refs/heads/release-18&state=ALL&order=OLDEST&withAttributes=false&withProperties=true&limit=1000

В ответе он имеет только размер 100, даже если я устанавливаю предел как 1000

{
"size": 100,
"limit": 100,
"isLastPage": false,
"values": [],
"start": 0,
"nextPageStart": 100
}

Есть ли способ получить пулл-запросы?

1 Ответ

0 голосов
/ 12 мая 2018

Нет ничего плохого в вашем вызове REST API. Конечная точка, которую вы вызываете, имеет по умолчанию 25 результатов с верхним пределом не более 100. Любое значение limit свыше 100 вернет максимум 100 результатов.

Для этого есть веская причина: оно защищает приложение от одновременной загрузки слишком большого количества результатов в память. Сервер Stash / Bitbucket обычно использует довольно маленький размер кучи, поскольку git выполняет тяжелую работу, и вы не хотите, чтобы JVM использовала память, которая нужна git. В 99,9% случаев правильный подход заключается в том, чтобы использовать API с постраничным интерфейсом так, как он хочет использовать: по одной странице за раз. Должно быть относительно легко пролистать результаты, чтобы получить все необходимые данные, и я могу обновить этот ответ на примере подкачки на Python, если вы застряли там.

Если вы действительно хотите изменить это ограничение, вы можете сделать это через Свойства конфигурации Bitbucket Server , установив page.max.pullrequests=1000 в $ BITBUCKET_HOME / shared / bitbucket. свойства и перезапуск приложения. Хотя я бы не советовал, возможно, вы настраиваете себя на ошибки OutOfMemory в своей JVM, если не будете осторожны.

Полное раскрытие, я работаю на Atlassian.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...