Disabling issues feature quietly disables Quality Management
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Originally raised by @brad and @wwjenkins in https://gitlab.slack.com/archives/C0411N5KAEA/p1668783010063879 (internal)
The customer was reporting that all projects in one group weren't showing the Test Cases menu and visiting the URL gave 404.
irb(main):001:0> project = Project.find_by_id(8598)
=> #<Project id:8598 group/project>
irb(main):002:0> project.licensed_feature_available?(:quality_management)
=> true
irb(main):003:0> project.feature_available?(:quality_management)
=> true
irb(main):004:0> project.feature_available?(:issues)
=> false
irb(main):005:0> user = User.find 476
=> #<User id:476 @admin_user>
irb(main):006:0> Ability.allowed?(user, :read_issue, project)
=> false
- Test cases menu not appearing under CI/CD: https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/ee/sidebars/projects/menus/ci_cd_menu.rb#L30-L32
!context.project.licensed_feature_available?(:quality_management) || !can?(context.current_user, :read_issue, context.project)
- What this says is hide the menu item if:
- current user cannot read_issue in project (tried with admin and owner, both false)
- if Quality Management isn't available for that project
When Issues feature is disabled, all read_issue authorisation checks return false by default.
In our documentation, we don't mention that disabling issues feature renders Quality Management unusable.
https://docs.gitlab.com/ee/user/project/settings/#project-feature-settings
When you disable a feature, the following additional features are also disabled:
If you disable the Issues feature, project users cannot use:
Issue Boards
Service Desk
Project users can still access Milestones from merge requests.
Edited by 🤖 GitLab Bot 🤖