zoukankan      html  css  js  c++  java
  • 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

    *************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************
  • 相关阅读:
    docker-redis
    docker-nginx
    docker-tomcat
    JQuery/JS插件 jsTree加载树,预先加载,初始化时加载前三级节点,当展开第三级节点时 就加载该节点下的所有子节点
    Python json
    Python 模拟鼠标
    Python 取列表的前几个
    winfrom 图片等比例压缩
    winfrom 改变图片透明度 Alpha
    winform 实现类似于TrackBar的自定义滑动条,功能更全
  • 原文地址:https://www.cnblogs.com/lvzhenjiang/p/14292719.html
Copyright © 2011-2022 走看看