Topics versus Custom attributes in UI and API
Problem
Gitlab's API allows for working with custom attributes via the Custom Attributes API (https://docs.gitlab.com/ce/api/custom_attributes.html).
The ability to specify custom attributes for a group, and then having them required (or even just appearing) in the project API for the projects under that group, as well as in the UI (project creation flow, project page, etc.) would enable some workflows that are currently difficult to accomplish with GitLab.
This would also provide a level of feature parity to GitHub's Custom Properties in an Organization (https://docs.github.com/en/enterprise-cloud@latest/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization)
This is related to #23652 (closed), but user-facing as opposed to admin-facing. Also related to #15051 (closed), but group-based and not file driven.
Some example workflows include: marking classifications, defining code ownerships freeform, listing applicable internal policies, or potentially even tying into existing systems and toolchains outside of GitLab.
Proposal
Create a UI to expose and manage Custom Attributes. Consider that Topics fulfil the same use case for projects already, they could potentially be consolidated with Custom Attributes in this effort. If so, we would need to design a migration path to allow customers to migrate from one solution to the other. Both Topics and Custom Attributes are lacking proper management capabilities at the moment. For instance, anyone can create a Topic, but only Admins can edit them. We should review who gets access to topic management capabilities.