action #121102
closedcoordination #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/jobs size:M
Description
Motivation¶
Proper pagination is planned for every query and API route in #119428. After #120841 has been implemented we now have a prototype to replicate. So this needs to be done for GET /api/v1/jobs
.
Acceptance criteria¶
- AC1: API endpoint
GET /api/v1/jobs
has pagination
Suggestions¶
- Use
limit
/offset
query parameters andprev
/next
/first
relations inLink
headers - If possible use the
DBIx::Class
features forlimit
andoffset
- See official documentation (https://docs.mojolicious.org/Mojolicious/Plugin/DefaultHelpers, https://docs.mojolicious.org/Mojolicious/Validator/Validation, https://metacpan.org/pod/DBIx::Class::ResultSet)
- Use helper added in https://github.com/os-autoinst/openQA/pull/4934 for pagination headers
Updated by kraih almost 2 years ago
- Copied from action #121099: Add pagination for GET /api/v1/jobs/<job_id:num>/comments added
Updated by kraih almost 2 years ago
- Copied to action #121105: Add pagination for GET /api/v1/test_suites, GET /api/v1/test_suites/:id, GET /api/v1/machines, GET api/v1/machines/:id, GET /api/v1/products, GET /api/v1/products:id size:M added
Updated by kraih almost 2 years ago
- Copied to action #121108: Add pagination for GET /api/v1/workers added
Updated by okurz almost 2 years ago
- Due date deleted (
2022-12-07) - Target version changed from future to Ready
- Start date deleted (
2022-11-22)
Updated by mkittler almost 2 years ago
- Subject changed from Add pagination for GET /api/v1/jobs to Add pagination for GET /api/v1/jobs size:M
- Description updated (diff)
- Status changed from New to Workable
Updated by dheidler almost 2 years ago
Updated by okurz almost 2 years ago
- Due date set to 2023-01-18
dheidler can you add the comment to the git comment and handle https://github.com/os-autoinst/openQA/pull/4964/files#r1060660506 and as suggested or should we take over?
Updated by kraih almost 2 years ago
Feel free to reassign the ticket to me if you don't have time to clean up the PR yourself.
Updated by dheidler almost 2 years ago
- Assignee changed from dheidler to kraih
Thanks, please take over.
Updated by kraih almost 2 years ago
- Status changed from Feedback to In Progress
Cleaning up the PR now: https://github.com/os-autoinst/openQA/pull/4979
Updated by kraih almost 2 years ago
- Status changed from In Progress to Feedback
Updated by kraih almost 2 years ago
I've made a followup ticket regarding the lack of latest=1
support: #122959
Updated by kraih almost 2 years ago
- Related to action #122959: Add pagination for /api/v1/jobs with latest=1 feature active added