maxResults in JIRA Software API

Hi, I am trying to use the JIRA Software REST API (https://docs.atlassian.com/jira-software/REST/cloud/) to get all boards relevant to a project.

Therefore I tried to use the /rest/agile/1.0/board endpoint with a projectKeyOrId query parameter but unfortunately this only returns the boards where the project is directly referenced in the jql. At least that is what I understood from the description of the query parameter:
Filters results to boards that are relevant to a project. Relevance means that the jql filter defined in board contains a reference to a project.

So since I need a list of all boards where the project is visible it seems I am forced to fetch all boards, and then use the /rest/agile/1.0/board/{boardId}/project endpoint to fetch all projects for each board and look for a match.

So this brings me to my question.

This endpoint is really slow. I am guessing it is because it has to evaluate the board’s jql against all projects (and there are a lot of projects), and some of the boards have more than 200 projects which means that with pagination I have to fetch 5 times to get all the projects.
The API says that I should be able to use maxResults query parameter to increase the number of returned projects from the default 50, but if I set it to more than 50 I still only get 50 per request.

Is this intended that maxResults is limited to 50 for this endpoint, or am I doing something wrong? The returned data per project is minimal so I don’t see a reason why they would set the limit so low.

Also if any of you know an easier way to get all boards for a project, please let me know.

Hey @niels, as it turns out there is no dedicated API to retrieve all boards relevant for a given project, and it looks like the way you’re doing this is the best you can achieve at this moment.

When it comes to maxResults query parameter, note that irrespective of the default value documented for some endpoints, each endpoint has it’s own limit of returned items (which may be not explicitly stated in the documentation). As a consequence, even if you increase the maxResults in your query, it will be overridden with the actual limit defined for given REST API endpoint. Apparently the limit for maxResults in this endpoint is 50. Moreover, maxResults values are not covered by REST API policy and can change without notice. Therefore we recommend that REST API clients programatically query the endpoint to obtain current maxResults value before relying on the number of items in responses.

Hi @istankiewicz, thank you for your reply.

I understand that the limit can be different for each endpoint, I just don’t understand why it would be so low for this particular endpoint. As far as I understand pagination is done to limit the size of the response, but the data per project returned by this endpoint is very limited so it should be able to handle way more than 50 per request.

As I mentioned above, the endpoint can be very slow for some boards (10-15 seconds per request), so if I have to fetch 4 times for the same board it can take up to a minute,

So if it is possible to increase the limit for this endpoint it would help a lot.