• python批量创建gitlab用户


    一、gitlab创建私有token

    使用root用户登录gitlab。

    2021-01-18_142135
    2021-01-18_142147

    二、编写python脚本

    本文使用python的python-gitlab库实现,python环境3.8.6

    2.1 安装所需python依赖库

    pip3 install python-gitlab
    

    2.2 python源码

    import gitlab
    import requests
    
    
    def add(gl):
        path = 'useradd.txt'
        with open(path,encoding='utf-8',mode='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)
    
    
    def main():
        gl = gitlab.Gitlab.from_config('somewhere', ['gitlab.cfg'])
        # gl = gitlab.Gitlab('http://0.0.0.0', private_token='your_token')
        add(gl)
    
    
    if __name__ == '__main__':
        main()
    

    在连接gitlab的时候,可以参考api官方手册,一般用两种方式直接通过ip和私有的token连接,或者使用配置文件进行连接。因为我这里配置了https,所以采用的配置文件gitlab.cfg进行连接,文件内容具体如下:

    [global]
    default = somewhere
    ssl_verify = False
    timeout = 5
    
    [somewhere]
    url = https://0.0.0.0
    private_token = your_token
    api_version = 4
    

    新版的gitlab不再支持api v3,所以使用v4。这里填写上你的ip地址以及私有的token就可以了。我这里ssl选择的False因为我没有真正的证书,只是本地生成的证书。

    如果不使用配置文件的方法直接用我注释的那行代码,把上面那行注释掉就可以了。

    我们这里使用批量创建用户的方法是读取了当前目录下的useradd.txt的文件,格式如下:

    李四,lisi@qq.com,12345678
    张三,zhangsan@qq.com,12345678
    

    第一列是显示用户名,邮箱前半部分是登录用户名,最后是密码!

    三、创建完成的用户不能登录系统

    gitlab要使用邮件进行确认,但是可以跳过确认用户。只需要将users.create那一段修改一下就好。
    代码如下:

    user = gl.users.create({'email':mail, 'password':passwd, 'username':username, 'name':name, 'skip_confirmation':True})
    

    四、普通用户更改密码

    2021-01-18_145022

    *************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************
  • 相关阅读:
    python 去除字符串两端字符串
    python 找到列表中满足某些条件的元素
    python join函数
    Ambiguous mapping. Cannot map "***Controller" been method解决办法
    uflo2安装与配置
    uflo2概述
    Mybatis-plus中的常用注解
    Spring Cloud Eureka配置文件详解 (还没细看)
    idea安装lombok
    PowerDesigner最基础的使用方法入门学习(一)
  • 原文地址:https://www.cnblogs.com/lvzhenjiang/p/14292719.html
Copyright © 2020-2023  润新知