Skip to content

Commit d58dec5

Browse files
committed
ref(integrations): Increase default per_page for paginated repo fetching to 100
Align with the existing BaseApiClient.page_size default. 25 was unnecessarily small for a repo selector, causing extra round-trips through Sentry and GitHub for most users.
1 parent c135b8f commit d58dec5

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

src/sentry/integrations/api/endpoints/organization_integration_repos.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ def _get_paginated_repos(
102102
cursor_param = request.GET.get("cursor")
103103
try:
104104
cursor = Cursor.from_string(cursor_param) if cursor_param else Cursor(0, 0, False)
105-
per_page = min(int(request.GET.get("per_page", 25)), 100)
105+
per_page = min(int(request.GET.get("per_page", 100)), 100)
106106
except (ValueError, TypeError):
107107
return self.respond({"detail": "Invalid cursor or per_page parameter."}, status=400)
108108
page_number = (cursor.offset // per_page) + 1

src/sentry/integrations/github/integration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ def get_repositories(
353353
]
354354

355355
def get_repositories_page(
356-
self, page: int = 1, per_page: int = 25
356+
self, page: int = 1, per_page: int = 100
357357
) -> tuple[list[dict[str, Any]], bool]:
358358
"""
359359
Fetch a single page of non-archived repositories.

src/sentry/integrations/source_code_management/repository.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def get_repositories(
6363
def get_repositories_page(
6464
self,
6565
page: int = 1,
66-
per_page: int = 25,
66+
per_page: int = 100,
6767
) -> tuple[list[dict[str, Any]], bool] | None:
6868
"""
6969
Fetch a single page of repositories. Override to support

tests/sentry/integrations/api/endpoints/test_organization_integration_repos.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ def test_paginate_first_page(self, get_repositories_page: MagicMock) -> None:
278278
response = self.client.get(self.path, format="json", data={"paginate": "true"})
279279

280280
assert response.status_code == 200, response.content
281-
get_repositories_page.assert_called_once_with(page=1, per_page=25)
281+
get_repositories_page.assert_called_once_with(page=1, per_page=100)
282282
assert response.data == {
283283
"repos": [
284284
{
@@ -309,11 +309,11 @@ def test_paginate_second_page(self, get_repositories_page: MagicMock) -> None:
309309
False,
310310
)
311311
response = self.client.get(
312-
self.path, format="json", data={"paginate": "true", "cursor": "0:25:0"}
312+
self.path, format="json", data={"paginate": "true", "cursor": "0:100:0"}
313313
)
314314

315315
assert response.status_code == 200, response.content
316-
get_repositories_page.assert_called_once_with(page=2, per_page=25)
316+
get_repositories_page.assert_called_once_with(page=2, per_page=100)
317317
# next cursor should indicate no more results
318318
assert 'rel="next"; results="false"' in response["Link"]
319319
# prev cursor should indicate results exist

0 commit comments

Comments
 (0)