Sort releases by date and name in API
Release notes
A Release Page can be unwieldy and difficult to navigate if you have hundreds of release tags with release notes. With the implementation of a new sorting component, gone are the days of you having to manually sift through your releases. Rather, you can now quickly sort releases by date, name and milestones.
Problem to solve
As a user, I want sort releases in the API, so I can quickly reorganize existing releases in the UI.
Intended users
User experience goal
The user should be able to use the API with GitLab to sort releases.
Proposal
-
Allow sorting by different criteria such as create date, release name, modified date, and milestone.
Sorting Logic
We'll make a new backend endpoint on the server that will return the releases sorted in the order the user selected.
Further details
From @patrikhuber in https://gitlab.com/gitlab-org/gitlab-ce/issues/56969:
The ordering in the Releases page went completely bogus for my project. A minor version released later than a patch version is at the bottom of the page. All the releases show "released 3 month ago". Not true. The date + time that is displayed there is neither the time of the commit nor the tag or anything else from git. Maybe this is the time when I added the "Release notes" on the Tags page...? But certainly I don't want to have the Releases ordered by what time I added the release notes on the Tags page!
This issue comes from the fact that we assume the date a release was created is the release date of that release. Instead, we should add an editable release date value for a release and sort by that.
Backend
For the full sorting functionality proposed in the tech eval, we'll need backend to implement due_date
and start_date
as date types available from the Release API.
We'll also need an MR that adds an endpoint so that the frontend can request a sort order from the server. The return value of this endpoint should be a list of Releases but in the order specified by the request. If pagination is necessary, we the frontend should be be able to make paginated calls to the backend to receive a sorted list for an individual page.
Total MRs: 3
- Backend MR to add
released_at
- Backend MR to make an API endpoint that handles request for a sort order and returns releases sorted in that order, for the frontend. Additionally, this MR should be able to handle paginated requests.
- Backend MR for REST API docs
Documentation
Yes, this will require an update to the Releases API documentation.
Availability & Testing
What does success look like, and how can we measure that?
What is the type of buyer?
Is this a cross-stage feature?
No.
Links / references
- Frontend implementation issue #221101 (closed)
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.