python批量创建gitlab的用户
admin
2023-07-19 08:42:43
0

在脚本的同目录下需要创建一个名为“useradd.txt”的文件,用于存放需要创建的用户,useradd的内容格式:账号,邮箱,密码(注意,这3个单元之间要以英文逗号隔开),

举例,我要新建一个账号为test,邮箱为test@qq.com,密码为12345678的用户,useradd.txt的格式如下:

test,test@qq.com,12345678


整个代码包含以下功能

1、创建用户并赋予权限

2、删除用户

3、更新指定组内的用户权限

4、将指定组内的部分用户权限去除,运行界面如下

python批量创建gitlab的用户

代码内容如下:

#C:\Python27
# coding=utf-8
import gitlab,re

def add(gl):
    gid = int(raw_input('Group ID: '))
    group = gl.groups.get(gid)
    print group.name
    mkey = []
    path = 'useradd.txt'
    with open(path,'r') as f:
        for fnun in f.readlines():
            fkey = fnun.strip()
            name = fkey.split(',')[0]
            mail = fkey.split(',')[1]
            username = mail.split('@')[0]
            passwd = fkey.split(',')[2]
            user = gl.users.create({'email':mail,'password':passwd,'username':username ,'name':name})
            print user.username,user.id
            mkey.append(user.id)
    for i in mkey:
        member = group.members.create({'user_id':i,'access_level':30})
        print member.username,member.access_level

######del user#######
def deluser(gl):
    #cancel = [153, 151, 149, 147, 91, 51, 49, 47, 45, 43, 41, 39, 37, 35, 33, 31, 29, 27, 25, 23, 21, 19, 17, 15]
    num = raw_input('Inout the user_id: ')                  #输入需要删除的用户的ID
    cancel = []
    cancel.append(num)
    for m in cancel:
        user = gl.users.get(m)
        uname = user.name
        print 'Useri_id:%s , name:%s  has been erased' % (m,uname)
        gl.users.delete(m)
######add user to group#######
def update(gl):
    gid = int(raw_input('Group ID: '))
    group = gl.groups.get(gid)
    print group.name
    fnum = [139, 137, 127, 125, 123, 121, 117, 115, 113, 109, 105, 101, 97, 93, 87, 79, 63, 61, 59]     #需要更新权限的用户ID
    for i in fnum:
        member = group.members.create({'user_id':i,'access_level':30})
        print member.username,member.access_level
######remove user from group#######
def remove(gl):
    cancel = [51, 49, 47, 45, 43, 41, 39, 37, 35, 33, 31, 29, 27, 25, 23, 21, 19, 17, 15]     #删除指定组内的用户权限的ID

    gid = int(raw_input('Group ID: '))
    group = gl.groups.get(gid)
    print group.name
    #num = raw_input('Inout the user_id: ')
    #cancel = []
    #cancel.append(num)
    for m in cancel:
        user = gl.users.get(m)
        uname = user.name
        print 'Useri_id:%s , name:%s  will be removed' % (m,uname)
        member = group.members.delete(m)
    mem = group.members.list(all=True)
    for me in mem:
        print me.id,me.username
def main():
    print '''%s
1. 增加git用户并赋予权限
2. 删除git用户
3. 更新git用户权限
4. 从指定的组中删除用户权限
%s ''' % ('-'*20,'-'*20)
    gl = gitlab.Gitlab('http://10.50.36.33/', private_token='ffffffffffffffffj')
    info = {1:'add(gl)',2:'deluser(gl)',3:'update(gl)',4:'remove(gl)'}
    num = int(raw_input('Input your choice: '))
    exec info[num]
if __name__ == '__main__':
    main()



相关内容

热门资讯

雷军现身武汉,路边坐小板凳吃早... “我和雷军一起过早了!”“撂下筷子就去合照!”据武汉市文化和旅游局公众号,6月15日清晨,雷军闪现武...
美议员:特朗普一个目标都没实现... 当地时间6月14日,美国宣布与伊朗达成了谅解备忘录,使得局势降温,并为后续谈判打下基础。谅解备忘录将...
缅甸总统敏昂莱抵达北京 今天(6月15日)下午,缅甸总统敏昂莱抵达北京,开启为期五天的访华行程。这也是敏昂莱当选总统以来首次...
轰炸声中,和平协议谈妥了 6月14日,美国总统特朗普迎来80岁生日。他原本计划在“这个特殊日子”与伊朗签署终战协议,给这场历时...
老鼠、蛆虫、农残等食品安全问题... 快科技6月15日消息,针对一段时期以来监管发现和媒体曝光的山姆线下门店及线上网店多发的食品安全问题。...
京东健康将与北京友谊医院共建消... IT之家 6 月 13 日消息,“京东健康黑板报”公众号 13 日(今天)发文宣布,京东健康与首都医...
星河动力航天:谷神星二号(遥一... 6 月 15 日消息,星河动力航天今日宣布,谷神星二号(遥一)运载火箭飞行故障通过归零评审。 近日,...
德日再走向军事大国?特朗普一句... 【文/观察者网 柳白】二战结束八十多年后,国际安全格局迎来持续动荡,二战战败国德国与日本的军备动向再...
广汽与华为乾崑联合打造:启境获... 6月14日消息,据新浪汽车报道,6 月 13 日,在 2026 中国汽车重庆论坛上,启境汽车 CEO...
“无招”没错,他只是老了 文 | 有界UnKnown 还是想再聊聊钉钉,也聊聊无招。 我觉得这件事对很多打工人,以及很多高管...