Skip to content

Protected packages: Add minimumAccessLevelForDelete to project settings UI

What does this MR do and why?

Protected packages: Add minimumAccessLevelForDelete to project settings UI

This MR integrates the attribute minimumAccessLevelForDelete to the project settings UI. This attribute is used to set the minimum access level required to delete a package. With this, project owners can use the frontend to set the minimum access level.

The attribute is similarly integrated as the other attribute minimumAccessLevelForPush.

The implementation in this MR also integrates / considers the feature flag packages_protected_packages_delete by:

  • Hiding the field "Minimum Access Level For Delete" in the form for entering a new package protection rule
  • Hiding the column "Minimum Access Level For Delete" in the table listing the package protection rules

Changelog: added

🛠️ with ❤️ at Siemens

References

Please include cross links to any resources that are relevant to this MR This will give reviewers and future readers helpful context to give an efficient review of the changes introduced.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

MR Checklist (@gerardo-navarro)

Screenshots or screen recordings

Before (or when the feature flag :packages_protected_packages_delete is disabled) After
grafik grafik
grafik grafik
grafik grafik

How to set up and validate locally

  1. Enable the feature flag :packages_protected_packages_delete via rails console
Feature.enable(:packages_protected_packages_delete)
  1. Go to the project settings related to the package registry: http://gdk.test:3000/flightjs/Flight/-/settings/packages_and_registries
  2. Create a new package protection rule and also set the new field Minimum Access Level For Delete, see screenshot above
  3. You should see the new package protection rule in the table => 👍
  4. In the new table entry, you can try out the select box in order to change field "Minimum Access Level For Delete".
  5. Disable the feature flag :packages_protected_packages_delete via rails console
Feature.disable(:packages_protected_packages_delete)
  1. Now all fields and columns related to Minimum Access Level For Delete should be hidden

Related to #413641

Edited by Gerardo Navarro

Merge request reports

Loading