import os,time
import requests,json # def downloadFile(name, url):
# headers = {'Proxy-Connection': 'keep-alive'}
# r = requests.get(url, stream=True, headers=headers)
# length = float(r.headers['content-length'])
# f = open(name, 'wb')
# count = 0
# count_tmp = 0
# time1 = time.time()
# for chunk in r.iter_content(chunk_size=512):
# if chunk:
# f.write(chunk)
# count += len(chunk)
# if time.time() - time1 > 2:
# p = count / length * 100
# speed = (count - count_tmp) / 1024 / 2
# count_tmp = count
# print(name + ': ' + formatFloat(p) + '%' + ' Speed: ' + formatFloat(speed) + 'KB/S')
# time1 = time.time()
# f.close()
#
# def formatFloat(num):
# return '{:.2f}'.format(num) # if __name__ == '__main__':
# downloadFile('movie6.mp4', 'http://download.xunleizuida.com/1905/神秘慈善家.BD1280高清中字版.mp4')
# #批量添加用户
def add_user(project_id,user_id,access_level):
''' :param name:
:param description:
:return:
'''
#url = "http://gitlab.com/api/v4/projects?per_page=100&pages=8"
datas = {"user_id":user_id,"access_level":access_level}
url = 'http://gitlab.com/api/v4/projects/%s/members'%project_id
headers = {"Authorization": "bearer 7df71632701daaf11fec128ca071a26229b99462d2e20ba9ff48c6e8c953540d",
"Content-Type": "application/x-www-form-urlencoded"}
print(url) result = requests.post(url, headers=headers,data=datas)
print("项目:%s 已添加用户"%project_id) def get_pagenum(url):
'''
获取所有项目id
:param name:
:param description:
:return:
'''
#url = "http://gitlab.com/api/v4/projects?per_page=100&pages=8"
headers = {"Authorization": "bearer 7df71632701daaf11fec128ca071a26229b99462d2e20ba9ff48c6e8c953540d",
"Content-Type": "application/x-www-form-urlencoded"} headers = {"Authorization": "bearer 7df71632701daaf11fec128ca071a26229b99462d2e20ba9ff48c6e8c953540d",
"Content-Type": "application/x-www-form-urlencoded"}
result = requests.get(url, headers=headers)
#result = json.loads(result.content)
print(result.content)
result = json.loads(result.content)
for re in result:
#un_protect(re.get("id"))
#print(re)
print(re.get("id"))
add_user(str(re.get("id")),"","")
#get_pagenum(url = "http://gitlab.com/api/v4/projects?membership=false&order_by=created_at&owned=false&page=7&per_page=100&simple=false&sort=desc&starred=false&statistics=false&with_custom_attributes=false&with_issues_enabled=false&with_merge_requests_enabled=false") for i in range(1,8):
url = "http://gitlab.com/api/v4/projects?membership=false&order_by=created_at&owned=false&page=%d&per_page=100&simple=false&sort=desc&starred=false&statistics=false&with_custom_attributes=false&with_issues_enabled=false&with_merge_requests_enabled=false"%i
get_pagenum(url) user_id = ""
access_level = ""
#add_user(id,user_id,access_level)

gitlab api批量操作 批量添加用户的更多相关文章

  1. Crowd 批量添加用户(Postman 数据驱动)

    背景 最近公司大量新员工入职,需要批量创建 Crowd 用户.设置密码.分配应用组等机械性重复工作(主要还是懒~),故把这个加餐任务分配给刚来的测试同学去研究. 一是:让他了解下 Postman 的数 ...

  2. 【Azure Developer】使用Microsoft Graph API 如何批量创建用户,用户属性中需要包含自定义字段(如:Store_code,Store_name等)

    Microsoft Graph 是 Microsoft 365 中通往数据和智能的网关. 它提供统一的可编程模型,可用于访问 Microsoft 365.Windows 10 和企业移动性 + 安全性 ...

  3. 用户管理 之 在Linux系统中,批量添加用户的操作流程

    一.阅读此文件您需要掌握的基础知识: <Linux 用户(user)和用户组(group)管理概述><用户(user)和用户组(group)配置文件详解><Linux 用 ...

  4. 【转载】干货再次来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载八)用命令实现批量添加用户

    Windows添加用户需要至少5个界面,而Linux一条命令就搞定了,这是不是高效人士办公第一法则呢.本文不给你一堆参数和选项,不让你见识教条主义,只给你最实用的代码. 想每天能听到小妞的语音播报,想 ...

  5. 利用shell实现批量添加用户

    批量添加用户并设置随机密码,把添加的用户的名字和密码保存到文件中. [root@lamp scripts]# cat user.sh #!/bin/sh ` do pass=$(-) //取随机数的方 ...

  6. (1)使用bash脚本实现批量添加用户

    脚本实现内容: 可以指定用户名前缀,指定添加数量的批量添加用户脚本,密码为10为随机小写字母,并把用户名和密码写入文件中. 脚本代码: #!/bin/bashread -p "用户名前缀:& ...

  7. (转)通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加

    通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加 原文:http://www.21yunwei.com/archives/4773 有一个朋友问我如何批量创建用户和设置密码 , ...

  8. Centos6配置samba服务器并批量添加用户和文件夹

    一.需求 局域网内有若干用户,所有用户访问一个共享目录 每个用户在共享目录里有自己的文件夹 每个用户都可以读取其他人的文件夹 每个用户只能对自己的文件夹有写入权限 所有用户都属于filesgroup组 ...

  9. 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

    一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...

随机推荐

  1. vim编辑器最常用按键说明

    n代表数字,words代表字符串 1.设置行号:输入 :set nu 2.跳到某行: 输入 nG. 首行1G,尾行G 3.向下删除连续的n行:先跳到要删除的某行,然后输入: ndd 4.向后删除某行的 ...

  2. Docker入门(五):Swarms

    这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...

  3. hadoop学习笔记411

    安装hadoop  1. 免秘钥  使用hadoop用户  ssh-keygen -t rsa  cp id_rsa.pub authorized_keys  cat id_rsa.pub>&g ...

  4. 【243】◀▶IEW-Unit08

    Unit 8 Environment I. 不定式(to do)在雅思写作中的运用 1)名词 • 主语(句首) To protect the environment is everyone's dut ...

  5. day1 java基础回顾- Properties类与配置文件

    Properties配置文件说明 Properties类对应.properties文件.文件内容是键值对,键值对之间使用"="或空格隔开.开头是"#"的表示注释 ...

  6. UVaLive 4094 WonderTeam (贪心)

    题意:有n支队伍,每两支队伍打两场比赛(主客场各一次),胜得3分,平得1分,输不得分,比赛结束之后会评选出一个梦之队, 梦之队满足以下条件:进球总数最多,胜利场数最多,丢求总数最少,三个都不能并列,求 ...

  7. GTK学习笔记之Linux下Gtk环境搭建

    下面介绍下Ubuntu 环境下具体的安装过程: 1.配置安装gcc/g++/gdb/make 等基本编程工具(必须装好) 刚装好的Ubuntu系统中已经有GCC了,但是这个GCC几乎什么文件都不能编译 ...

  8. vue-cli 3.0安装和使用

    零. 前言 公司最近开发项目使用的是vue-cli 3.0版本开发,但是对于vue-cli 3.0版本一直没有研究过如何使用,公司使用配置:pug + ts + stylus + eslint:编辑器 ...

  9. c# 库间关系

  10. 13.组合查询--SQL

    利用UNION操作符将多条SELECT语句组合成一个结果集. 主要有两种情况需要使用组合查询: 在一个查询中从不同的表返回结构数据: 对一个表执行多个查询,按一个查询返回数据. UNION规则 UNI ...