How to solve the limit of 1000 work item records obtained through OSLC?
There are about 6,000 task work item records in the RTC project area. When accessing the following URL through OSLC to obtain the xml record, it is found that only a maximum of 1000 records can be returned. How can I solve this problem?
It can be clearly seen from the header of the returned xml file that there is a totalCount which limits the return of up to 1000 records. Even using context to recursively access can only get 1000 records.
<oslc_cm:Collection oslc_cm:next="https://jazz.clmserver.com/ccm/oslc/contexts/_YEDgUAzlEeqWn8nV45pKYA/workitems?oslc_cm.pageSize=50&_resultToken=_oYmKcHyyEeqOD86JDfW1Dw&_startIndex=50" oslc_cm:totalCount="1000">
Accepted answer
Hi, David
Please go to https://yourserver:port/ccm/admin#action=com.ibm.team.repository.admin.configureAdvanced
and increase the property value:
com.ibm.team.workitem.service.internal.query.QueryRepositoryService >> Maximum Query Result Set Size
and workaround the issue.
Hopefully this helps.
Thanks
2 other answers
If you wish to do the same via API, refer to Ralph's below blog post :
https://rsjazz.wordpress.com/2012/10/29/using-work-item-queris-for-automation/
here is some relevant extract from the blog :
here is some relevant extract from the blog :
The limit also applies to the API, however, in the API it is possible to get around it to get the full result set. To do that, you have to change the limit of the result set. It is necessary to do that before you do anything else with the result set. The limit can not be changed after you accessed the results.
The code to change the limit for unresolved results looks like below:
((QueryResultIterator) unresolvedResults).setLimit(Integer.MAX_VALUE);
The code to change the limit for a resolved result set is simpler.
resolvedResults.setLimit(Integer.MAX_VALUE);