Uploaded image for project: 'Jira Service Management Data Center'
  1. Jira Service Management Data Center
  2. JSDSERVER-4187

Inconsistent JIRA Service Desk REST API Pagination

XMLWordPrintable

      NOTE: This bug report is for JIRA Service Desk Server. Using JIRA Service Desk Cloud? See the corresponding bug report.

      Summary

      The Pagination used in JIRA Service Desk REST API does not return consistent results

      Environment

      JIRA Service Desk REST API

      Steps to Reproduce

      1. Create a GET request for Customer Requests
        <baseURL>/rest/api-name/resource-name?start=0&limit=100
        
      2. Observe the "size" from the result
        Results
          "size": 76,
          "start": 0,
          "limit": 100,
          "isLastPage": true,
        
      3. Change the start to a higher value and re-send the GET request
      4. <baseURL>/rest/servicedeskapi/request?start=20&limit=100
        
      5. Observe the "size" from the result
        Results
          "size": 36,
          "start": 20,
          "limit": 100,
          "isLastPage": true,
        
      6. Change the start to a higher value and re-send the GET request
      7. <baseURL>/rest/servicedeskapi/request?start=30&limit=100
        
      8. Observe the "size" from the result
        Results
          "size": 16,
          "start": 30,
          "limit": 100,
          "isLastPage": true,
        

      Expected Results

      From the above example, Pagination should return 56 and 46 respectively

      Actual Results

      Returned values are not 56 and 46 respectively

      Notes

      JIRA Service Desk REST API is still an experimental release as per this comment

      Workaround

      It seems that the Servicedesk api code actually skips “start” parameter amount of entires twice. So, if you add start=10, its actually doing start=20 internally. If you say start=100, its actually doing start=200.
      In order to get it working correctly, you would need to use half of the value of the start parameter that you intend to use. For instance, I tried this : 
       

      http://localhost:8080/jira792/rest/servicedeskapi/request?start=0&limit=10

      and then

      http://localhost:8080/jira792/rest/servicedeskapi/request?start=5&limit=10

              mwadhwa@atlassian.com Milap Wadhwa (Inactive)
              cchan Chung Park Chan
              Votes:
              10 Vote for this issue
              Watchers:
              15 Start watching this issue

                Created:
                Updated:
                Resolved: