gitlab批量添加用户的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gitlab批量添加用户的方法相关的知识,希望对你有一定的参考价值。
gitlab批量添加用户的方法
要在gitlab中添加新的用户,可以用管理员账户在登录gitlab后进入admin area页面,进行添加用户的操作。但是这样只能手工进行操作,一次只能添加一个用户。如果需要一次添加大量用户,不仅操作速度慢,还很容易出错。
要能够?批量添加用户,一个比较好的解决方案是使用gitlab提供的api接口。gitlab API的使用可以参考的gitlab的帮助文档,gitlab提供了很多语言的api 客户端。这里只介绍最简单的http方法。
所有的api请求都要进行身份验证,需要在url或者header中传递private_token参数。用户的private_token可以在profile settings页面的account settings中找到。使用GET或者curl都可以发送api请求。
#获取自己账号的用户信息
curl -X GET http://1.1.1.11/api/v3/user?private_token=uMRTjtFk8fqueB1XfJVH
curl http://1.1.1.11/api/v3/user?private_token=uMRTjtFk8fqueB1XfJVH (当前tokenr的信息既管理员的token,只显示管理员的个人信息)
?#获取所有用户的信息
curl -X GET http://1.1.1.11/api/v3/users?private_token=uMRTjtFk8fqueB1XfJVH
curl http://1.1.1.11/api/v3/users?private_token=uMRTjtFk8fqueB1XfJVH(当前用管理员的token,显示所有用户的信息)
#添加用户账户(user2)
curl -d "projects_limit=8&can_create_group=false&password=nihao123&[email protected]&username=user2&name=user2&private_token=uMRTjtFk8fqueB1XfJVH" "http://1.1.1.11/api/v3/users"
#查询一个用户的信息(root)
curl "http://1.1.1.11/api/v3/users?search=root&private_token=uMRTjtFk8fqueB1XfJVH"
?#删除一个用户,查询到的用户ID信息进行删除
新建一个用户(user3),用来测试删除命令
curl -d "projects_limit=8&can_create_group=true&password=nihao123&[email protected]&username=user3&name=user3&private_token=uMRTjtFk8fqueB1XfJVH" "http://1.1.1.11/api/v3/users"
记住此用户的ID 后面的删除测试要用到
删除用户user3(两条命令一样)
curl -X DELETE --header "PRIVATE-TOKEN:uMRTjtFk8fqueB1XfJVH" "http://1.1.1.11/api/v3/users/7"?
curl -X DELETE http://1.1.1.11/api/v3/users/7?private_token=uMRTjtFk8fqueB1XfJVH
以上就是以http方式使用gitlab api的简单命令,可以在这些命令的基础上制作shell脚本或python脚本,实现批量添加用户。如果要使用api进行更复杂的操作,可以使用gitlab提供的客户端,如:python-gitlab、pyapi-gitlab、libsaas-gitlab。
用一个txt 文件导入批量用户的脚本:
#!/bin/bash
userinfo="userinfo.txt"
while read line
do
name=echo $line | awk ‘{print $1}‘
username=echo $line | awk ‘{print $2}‘
userpass=echo $line | awk ‘{print $3}‘
mail=echo $line | awk ‘{print $4}‘
curl -d "projects_limit=1&can_create_group=false&password=$userpass&email=$mail&username=$username&name=$name&private_token=uMRTjtFk8fqueB1XfJVH" "http://1.1.1.11/api/v3/users"
done <$userinfo
##########userinfo.txt################
user4 user4 userpass [email protected]
user5 user5 userpass [email protected]
user6 user6 userpass [email protected]
user7 user7 userpass [email protected]
user8 user8 userpass [email protected]
user9 user9 userpass [email protected]
以上是关于gitlab批量添加用户的方法的主要内容,如果未能解决你的问题,请参考以下文章