I am trying to use JIRA REST Search API to get issues. However API returns me only 50 issues. I tried using startAt and maxResults. However I am getting error 'Field 'startAt' does not exist or you do not have permission to view it." What should I do to get all the issues using JIRA Rest API
Based on the error I assume that you try to pass startAt as a field. The format of GET params should be as following:
rest/api/2/search?jql=SOME_JQL&fields=summary,duedate,issuetype&startAt=51
make sure jira.search.views.default.max is set to more than 50
https://confluence.atlassian.com/adminjiraserver071/limiting-the-number-of-issues-returned-from-a-search-view-such-as-an-rss-feed-802593125.html
Looks like this is applicable on-premise JIRA instance. We are using JIRA on-demand. Is there configuration for the same ?
You need to check with Atlassian support team what is the default value for You.
You need to pass maxResults=500 as one of the query parameters. Where 500 is the maximum number of results you want back.
maxResults=500
Here is an example call I use to get issues from JIRA OnDemand and JIRA Server via the REST API. It returns as many results as I need.
/search?jql=project%3DSTRATEJOS&maxResults=5000&fields=*navigable,worklog
If you use this then you don't need startAt (it becomes optional).
today I discovered that maxResults does not work anymore... even if I assign to maxResults a number bigger than 100, I get always issues from 0 until 99
Below is based on the response received from a Support ticket:
The /rest/api/2/search endpoint has been limited to 100 results , as you can see at: JRACLOUD-67570: JIRA Cloud REST API /rest/api/latest/search?maxResults=1000 is returning only 100 results
Unfortunately, this limit isn't configurable, you'll need to rely on pagination to retrieve the desired number of results
I tried it, but it does not work. I guess maxResults can apply only if it is less than 100 records, because Altassian imposed this maximum number of records. See JIRACloud-67570. Please if you know any workaround for obtaining 5000 records at once, please share it. Thanks
I wrote a do-while loop which is working for me
int startAt = 0;int maxResults = 50;int queryOutputItemsCount = 0;do {try{ HttpResponse<JsonNode> response = Unirest.get("https://your-domain.atlassian.net/rest/agile/1.0/sprint/{sprintId}/?startAt=" +startAt") .basicAuth("email@example.com", "<api_token>") .header("Accept", "application/json") .asJson(); JsonNode jsonNode = response.getBody(); JSONObject jsonObjectType = jsonNode.getObject(); String typeKey = "values"; org.json.JSONArray jsonArrayType = jsonObjectType.getJSONArray(typeKey); queryOutputItemsCount = jsonArrayType.length(); // write your code here startAt=startAt+maxResults; } catch (UnirestException e) { e.printStackTrace(); }} while (queryOutputItemsCount>=maxResults);
within the loop, I am continually making JQL statements and getting the length of the statement back. If the statements length is smaller than the maxResults=50 then it means that I got all of them back. Else startAt = startAt+maxResults;
Hope it helps.
May i know how you run this command in jira?
It looks like you're new here. Sign in or register to get started.