Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Jira Software Cloud REST API not respecting maxResults

Deleted user March 2, 2021

Trying to get a list of 11,450 Jira Issues (3 fields) with the fewest number of requests possible (because the endpoint is being called by Salesforce which limits REST Callouts to 100/hour).

curl --request POST \
--url 'https://utilant.atlassian.net/rest/api/3/search' \
--user 'USER:PASSWORD' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"jql": "updatedDate>=2021-01-01 AND issuetype!=Test",
"maxResults": 1000,
"fields": [
"issuetype",
"summary",
"customfield_10090"
],
"startAt": 0,
"expand": ["names"]
}'

The above example looks like it would take 12 x REST Callouts to get 11,450 Jira Issues but it actually takes 115. Jira responds as if maxResults was set to 100 in its paginated reply.

{"expand":"schema,names","startAt":0,"maxResults":100,"total":11450,"issues":[...

Salesforce then blocks me when I make my 101st request. Checkmate.

Jira's documentation says, "To manage page size, Jira may return fewer items per page where a large number of fields are requested. The greatest number of items returned per page is achieved when requesting id or key only."

I need 3 fields (none of which are large).

Questions:

  1. Is there a way to reduce my page size? A fair amount of superfluous info is in the response to my query. Selecting any fields other than key or id limit the response to 100 records.
  2. Is there a different call I could make to get this info?

 

2 answers

1 accepted

2 votes
Answer accepted
Warren
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 2, 2021

Hi @[deleted] 

In answer to the main question you have here, Atlassian changed the API a few years ago to limit the maximum number of returned results to 100 (until then it used to be 1000), so the parameter maxResults is more applicable if you're wanting results in chunks smaller than 100, not larger. To reiterate, you cannot get more than 100 results per API call. I realise that doesn't help you with Salesforce!

For your other questions :

  1. No, using the fields parameter as you are limits the actual fields being returned, but there is always some header info which comes through.
  2. As far as I know, all API calls are limited to 100 and all return additional header info.

If this is a one-off (or seldom run) exercise, a solution (whilst not ideal) would be to run the first 100 API calls, then wait until the next hour and run the rest.

Deleted user March 3, 2021

@Warren - thanks for the response. Hope Atlassian can improve the documentation a bit more as this had me running in circles for a while (or loops of 100 records).

It's something I have to do monthly to clean up synchronized data. Guess I'll have to apply a different strategy.

0 votes
Maximilian Welsch December 14, 2022

Hi, has this value been reduced to 50 by now?

image.png

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
PREMIUM
PERMISSIONS LEVEL
Product Admin
TAGS
AUG Leaders

Atlassian Community Events