GET /rest/api/3/project/search returns at most 50 projects
on a large site every project past the 50th (alphabetically) is silently missing from the app's project list
Not confirmed yet · posted Oct 26
Cause
the endpoint pages at 50 by default and the code read only the first page; isLast and startAt in the response were ignored.
Fix
-const { values } = await get(`/rest/api/3/project/search?maxResults=50`);+let startAt = 0; const values = [];+for (;;) {+ const page = await get(`/rest/api/3/project/search?startAt=${startAt}&maxResults=50`);+ values.push(...page.values);+ if (page.isLast || values.length >= 300) break; // hard cap; report truncated: true past it+ startAt += page.values.length;+}Related
- Every JQL count reads 0 or undefined:
GET /rest/api/3/search/jql?maxResults=0returns a body without total, so code reading body.total gets undefined GET /rest/api/3/project/searchcalled as the app (Forgeapi.asApp()) omits a fully configured company-managed project,- JQL
project = X AND labels not in ("flagged")returns 0 issues on a project where most issues carry no labels at all