创建用户
Gitlab除了可以通过Web页面添加用户,但这种方法对用户数量太多时非常不方便。Gitlab提供了接口可以实现批量创建用户。
curl 方式
curl -d "password=12345678&email=test@exam.cn&username=test&name=张三&private_token=your_private_token" "http://your_ip/api/v3/users"
参数 | 说明 |
---|---|
password | 新建用户的密码 |
新建用户的邮件地址 | |
username | 新建用户的登录名 |
name | 新建用户的用户名称 |
private_token | 管理员的Private token |
可以通过上面的shell命令将用户的信息格式化后,实现用户批量创建。
python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
url = "http://your_ip/api/v3/users"
private_token = 'your_private_token'
user_info = [
('12345678', 'test123@qq.com', 'test123', 'test123'),
('12345678', 'test34@qq.com', 'test34', '王五')
]
payload = "password=%s&email=%s&username=%s&name=%s&"
for item in user_info:
req = (payload % item) + "private_token=" + private_token;
response = requests.request("POST", url, data=req)
创建仓库
#!/bin/bash
projects="sdc1 \
sdc2 \
sdc3"
for project in $projects
do
info="name=$project&private_token=your_private_token"
curl -d $info "http://your_ip/api/v3/projects"
done
删除仓库
删除仓库操作通过 CURL 命令无法正常删除,因此使用 Python 实现。
#!/bin/env python
# -*- coding: utf-8 -*-
import requests
base_url = "https://your_ip/api/v3/projects/"
headers = {
'private-token': "your_private_token"
}
projects = [
"sdc1",
"sdc2",
"sdc3"
]
for project in projects:
url = base_url + project
response = requests.request("DELETE", url, headers=headers, verify=False)
print(response.text)
参考
[1] Gitlab API
[2] Remove a project by API using /projects/{NAMESPACE}%2F{PROJECTNAME}