2015-03-19 94 views

回答

2

唯一的原生功能,接近是lib/tasks/gitlab/bulk_add_permission.rake,这是中提到的“User management

# omnibus-gitlab 
sudo gitlab-rake gitlab:import:all_users_to_all_groups 

# installation from source 
bundle exec rake gitlab:import:all_users_to_all_groups RAILS_ENV=production 

你可以把它看作一个模型来开发我们自己的任务。

0

我不知道这样的功能。但是你可以用API编写脚本。我们在这里使用它来将所有用户添加到一个组中(所有用户到所有组都不适合我们的情况)。

帮助文档:http://doc.gitlab.com/ce/api/README.htmlhttp://doc.gitlab.com/ce/api/users.htmlhttp://doc.gitlab.com/ce/api/groups.html

还有另一个问题可能是有益的,名单也不同模块各种编程语言的一个回应:Is there a way to add users automatically into gitlab?

0

我一直在寻找一个解决方案将所有Gitlab用户分配给一个特定的组。

这里的解决方案:

创建这个文件:

/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/finder_import.rake

有了这个内容:

namespace :gitlab do namespace :finder do 

desc "GitLab | Add all users to group Colaboradores (admin users are added as owners)" 
task importall: :environment do |t, args| 
    user_ids = User.where(admin: false).pluck(:id) 
    admin_ids = User.where(admin: true).pluck(:id) 
    groups = Group.where(name: "Colaboradores") 

    puts "Importing #{user_ids.size} users into #{groups.size} groups" 
    puts "Importing #{admin_ids.size} admins into #{groups.size} groups" 
    groups.each do |group| 
    puts "Importing into #{group.name}" 
    group.add_users(user_ids, GroupMember::DEVELOPER) 
    group.add_users(admin_ids, GroupMember::OWNER) 
    end 
end 

月底结束

运行以下命令:

gitlab耙gitlab:取景器:importall

相关问题