action #120841
closed
coordination #80142: [saga][epic] Scale out: Redundant/load-balancing deployments of openQA, easy containers, containers on kubernetes
coordination #92854: [epic] limit overload of openQA webUI by heavy requests
action #97190: Limit size of initial requests everywhere, e.g. /, /tests, etc., over webUI and API
action #119428: Ensure users can get all the data for limited queries, e.g. with pagination
Add pagination for GET /api/v1/assets size:M
Added by kraih about 2 years ago.
Updated almost 2 years ago.
Category:
Feature requests
Description
Motivation¶
Proper pagination as planned in #119428 is a much better solution to the problem described in #119431. So we use the API endpoint GET /api/v1/assets
, which has recently become a problem in #120315, to work out the specifics for how we want pagination to look like in the API. Later this can be replicated for all other API endpoints with limits.
Acceptance criteria¶
- AC1: API endpoint
GET /api/v1/assets
has pagination
Suggestions¶
- Take inspiration from GitHub and GitLab regarding query parameters and
Link
headers
- Once this has been implemented add more tickets linked to #119428 for other API endpoints
- Related to action #119431: Inform users e.g. in the webUI if not all results are returned size:M added
- Related to action #120315: openqa-client does not get complete asset list size:S added
- Status changed from Workable to In Progress
- Due date set to 2022-12-07
Setting due date based on mean cycle time of SUSE QE Tools
For the request i will use query parameters like /api/v1/assets?limit=10&offset=10
and responses Link
headers like:
Link: <https://openqa.opensuse.org/api/v1/assets?limit=10&offset=10>; rel="prev",
<https://openqa.opensuse.org/api/v1/assets?limit=10&offset=30>; rel="next"
The presence of each will indicate that next and previous pages exist. If they are missing then the relation does not exist.
- Subject changed from Add pagination for GET /api/v1/assets to Add pagination for GET /api/v1/assets size:M
PR has been approved, but not merged yet, to give other distributions some time to package Mojolicious 9.30. In the meantime i will work out next steps and create more tickets.
- Status changed from In Progress to Feedback
- Status changed from Feedback to Resolved
- Due date deleted (
2022-12-07)
Also available in: Atom
PDF