Use the Package Registry UI to view your NuGet packages' dependencies, tags and project URLs
### Problem to solve The GitLab NuGet Repository allows developers to build, publish, and share .NET packages, right alongside their source code and CI Pipelines. The MVC did not include support for package metadata, such as `dependencies`, `tags`, and `URLs`. As a Developer, when I look in the UI and don't see the expected metadata, I have no way of validating that the package was uploaded properly or to validate that something indeed has gone wrong. ### Intended users * [Delaney (Development Team Lead)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#delaney-development-team-lead) * [Sasha (Software Developer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sasha-software-developer) * [Devon (DevOps Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#devon-devops-engineer) * [Sidney (Systems Administrator)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sidney-systems-administrator) ### Proposal Now that https://gitlab.com/gitlab-org/gitlab/-/issues/42680 has been implemented, we will ensure that `dependencies` `tags` and `URLs` are displayed in your project and group level Package Registry so that you can understand how your package was built and better troubleshoot when something goes wrong. #### Included metadata - `dependencies` - `targetframework` - `licenseURL` - `projectURL` - `tags` ### Further details #### Technical notes Here are some technical notes on the following fields of the `metadata` section: * `dependencies` * Stored in `Packages::Dependencies` * `targetFramework` of the dependencies group will be stored as additional field `option` in `Packages::DependencyLink` * `licenseUrl` and `projectUrl` could be useful to have them displayed as links * `tags` can reuse the `Packages::Tag` model * `iconUrl` supporting this URL would allow Visual Studio to display an icon ##### Competitor Examples ![NuGetPackageInfo](/uploads/8db72c236ef452af2cb77aae3baffece/NuGetPackageInfo.jpg) ### Permissions and Security - There are no permissions changes required for this change. ### Documentation - There are no documentation changes needed for this change ### Testing ### What does success look like, and how can we measure that? - Success looks like .NET/C# developers can not only upload and install NuGet packages but understand how they were built by inspecting their metadata. #### Metrics - Total number of NuGet packages published/installed - Count of clicks on setup and install commands - Pageviews to */packages
issue