Add a name field to each badges which can be used for retrieving specific named badge using API
Problem to solve
In the Settings -> Badges page, it'd be very useful to be able give a "name" for each badges.
Further details
I would like to create a dashboard showing badges of various projects in one place. For this, I'd use the GitLab API to retrieve badges for all/selected projects for my dashboard. The badges should be displayed in a single view or in a table format to get a quick overview of all the projects.
Proposal 1
- Add a name field for badges
- Include the name field to be returned with Badge API
- It'd be nice if we could have another API that can be used for retrieving a badge using name
Proposal 2
If Proposal 1 is not accepted, the other alternative would be to provide a separate dashboard type page under each Group to show an overview of all the projects. This is similar to "Repository -> Contributors/Charts" page. But this may bring up some questions that might need to be answered first since everyone may have different requirement.
- What would the UI/UX be like for this proposal?
- Would it be possible to choose which projects to be displayed in the dashboard?
- What if all projects in the group don't have same badge?
- Will group owner be able to define multiple dashboard with related projects or will GitLab just list all projects under that group?
What does success look like, and how can we measure that?
Maintaining several projects for a team or org is normal. Many will also use various tools for validating their code quality, which can produce individual badges such as quality status, number of bugs, coverage %, security rating, number of vulnerabilities, code smell, code duplication % etc. GitLab CI or other CI solutions also provides badge for build/pipeline status.
Showing badges in each individual projects are very useful. Being able to see all these badges in a dashboard can also be very useful from an overview perspective that can show in a single glance overall health of a group of projects.