GitLabグループのトラブルシューティング
ネームスペースとグループの検証エラー
ネームスペースまたはグループを作成または更新する際に、次のチェックを実行します:
- ネームスペースに親があってはなりません。
- グループの親はグループでなければならず、ネームスペースであってはなりません。
万一、GitLabのインストールでこれらのエラーが発生した場合は、サポートにお問い合わせください。この検証を改善することができます。
SQLクエリを使用してグループを検索する
RailsコンソールでSQLクエリに基づいてグループの配列を検索して保存するには、次のようにします:
# 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>]Railsコンソールを使用して、サブグループを別の場所に転送する
UIまたはAPI経由でグループの転送がうまくいかない場合は、Railsコンソールセッションで転送を試みてください:
データを変更するコマンドは、正しく実行されなかった場合、または適切な条件下で実行されなかった場合、損害を与える可能性があります。最初にテスト環境でコマンドを実行し、復元できるバックアップインスタンスを準備してください。
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)Railsコンソールを使用して、削除保留中のグループを検索する
削除保留中のグループをすべて検索する必要がある場合は、Railsコンソールセッションで次のコマンドを使用できます:
Group.all.each do |g|
if g.self_deletion_scheduled?
puts "Group ID: #{g.id}"
puts "Group name: #{g.name}"
puts "Group path: #{g.full_path}"
end
endRailsコンソールを使用してグループを削除する
グループの削除がスタックすることがあります。必要に応じて、Railsコンソールセッションで、次のコマンドを使用してグループの削除を試みることができます:
データを変更するコマンドは、正しく実行されなかった場合、または適切な条件下で実行されなかった場合、損害を与える可能性があります。最初にテスト環境でコマンドを実行し、復元できるバックアップインスタンスを準備してください。
GroupDestroyWorker.new.perform(group_id, user_id)グループまたはプロジェクトに対するユーザーの最大権限を検索する
管理者は、グループまたはプロジェクトに対するユーザーの最大権限を検索できます。
Railsコンソールセッションを開始します。
次のコマンドを実行します:
user = User.find_by_username 'username' project = Project.find_by_full_path 'group/project' user.max_member_access_for_project project.iduser = User.find_by_username 'username' group = Group.find_by_full_path 'group' user.max_member_access_for_group group.id
バッジProject Invite/Group Inviteが付いた請求対象メンバーを削除できません
次のエラーは通常、ユーザーがプロジェクトまたはグループと共有されている外部グループに属している場合に発生します:
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.
ユーザーを請求対象メンバーとして削除するには、次のいずれかのオプションに従ってください:
- 招待されたグループメンバーシップを、プロジェクトまたはグループのメンバーページから削除します。
- (推奨)グループへのアクセス権がある場合は、招待されたグループからユーザーを直接削除することをお勧めします。
権限がないか不十分なため、削除ボタンが無効になっています
このエラーは通常、ユーザーがグループ転送中にアーカイブされたプロジェクトからcontainer_registryイメージを削除しようとした場合に発生します。このエラーを解決するには、次の手順に従います:
- プロジェクトのアーカイブを解除します。
container_registryイメージを削除します。- プロジェクトをアーカイブします。
グループのオーナーが、Awaiting user signupバッジが付いた保留中のユーザーを承認できない
GitLab.com以外のユーザーへのメール招待は、Pending membersのAwaiting user signupステータスで一覧表示されます。ユーザーがGitLab.comに登録すると、ステータスがPending owner actionに更新され、グループのオーナーが承認プロセスを完了できます。