Gitlab 批量操作

创建用户

Gitlab除了可以通过Web页面添加用户,但这种方法对用户数量太多时非常不方便。Gitlab提供了接口可以实现批量创建用户。

curl 方式

curl -d "[email protected]&username=test&name=张三&private_token=your_private_token" "http://your_ip/api/v3/users"
参数 说明
password 新建用户的密码
email 新建用户的邮件地址
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', '[email protected]', 'test123', 'test123'),
    ('12345678', '[email protected]', '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}

你可能感兴趣的:(gitlab)