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请求。

gitlab批量添加用户的方法

gitlab批量添加用户的方法
#获取自己账号的用户信息
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]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章