Troubleshooting groups
Validation errors on namespaces and groups
Performs the following checks when creating or updating namespaces or groups:
- Namespaces must not have parents.
- Group parents must be groups and not namespaces.
In the unlikely event that you see these errors in your GitLab installation, contact Support so that we can improve this validation.
Find groups using an SQL query
To find and store an array of groups based on an SQL query in the rails console:
# Finds groups and subgroups that end with '%oup'
Group.find_by_sql("SELECT * FROM namespaces WHERE name LIKE '%oup'")
=> [#<Group id:3 @test-group>, #<Group id:4 @template-group/template-subgroup>]
Transfer subgroup to another location using Rails console
If transferring a group doesn’t work through the UI or API, you may want to attempt the transfer in a Rails console session:
Commands that change data can cause damage if not run correctly or under the right conditions. Always run commands in a test environment first and have a backup instance ready to restore.
user = User.find_by_username('<username>')
group = Group.find_by_name("<group_name>")
## Set parent_group = nil to make the subgroup a top-level group
parent_group = Group.find_by(id: "<group_id>")
service = ::Groups::TransferService.new(group, user)
service.execute(parent_group)
Find groups pending deletion using Rails console
If you need to find all the groups that are pending deletion, you can use the following command in a Rails console session:
Group.all.each do |g|
if g.marked_for_deletion?
puts "Group ID: #{g.id}"
puts "Group name: #{g.name}"
puts "Group path: #{g.full_path}"
end
end
Delete a group using Rails console
At times, a group deletion may get stuck. If needed, in a Rails console session, you can attempt to delete a group using the following command:
Commands that change data can cause damage if not run correctly or under the right conditions. Always run commands in a test environment first and have a backup instance ready to restore.
GroupDestroyWorker.new.perform(group_id, user_id)
Find a user’s maximum permissions for a group or project
Administrators can find a user’s maximum permissions for a group or project.
Start a Rails console session.
Run the following commands:
user = User.find_by_username 'username' project = Project.find_by_full_path 'group/project' user.max_member_access_for_project project.id
user = User.find_by_username 'username' group = Group.find_by_full_path 'group' user.max_member_access_for_group group.id
Unable to remove billable members with badge Project Invite/Group Invite
The following error typically occurs when the user belongs to an external group that has been shared with your projects or groups:
Members who were invited via a group invitation cannot be removed. You can either remove the entire group, or ask an Owner of the invited group to remove the member.
To remove the user as a billable member, follow one of these options:
- Remove the invited group membership from your project or group members page.
- Recommended. Remove the user directly from the invited group, if you have access to the group.
Missing or insufficient permission, delete button disabled
This error typically occurs when a user attempts to remove the container_registry
images from the archived projects during group transfer. To solve this error:
- Unarchive the project.
- Delete the
container_registry
images. - Archive the project.
Docs
Edit this page to fix an error or add an improvement in a merge request.
Create an issue to suggest an improvement to this page.
Product
Create an issue if there's something you don't like about this feature.
Propose functionality by submitting a feature request.
Feature availability and product trials
View pricing to see all GitLab tiers and features, or to upgrade.
Try GitLab for free with access to all features for 30 days.
Get help
If you didn't find what you were looking for, search the docs.
If you want help with something specific and could use community support, post on the GitLab forum.
For problems setting up or using this feature (depending on your GitLab subscription).
Request support