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. DAL 层引用 System.Net.Http ,引发的一阵心慌

    快下班的时候 代码data 数据层编译失败,引起整个解决方案全部失败:其他同事虽然vs 版本不同,但是都能编译通过:考虑到今天更改过vs 的设置,把今天更改的设置全部都恢复,结果还是不行.最后直接恢复 ...

  2. IP简介2

    本笔记介绍java net IP A 类 主要是大型的交换机 1-126  B类 128-191 分配给各个国家的典型的服务器 每个网段支持255*255个设备  每一个B类都可以分配444416个C ...

  3. Umbraco back office 登录不了,如何解决

    通过设置User的默认密码为"default", 它的Hash值为 bnWxWyFdCueCcKrqniYK9iAS+7E= 所以在SQL Server中执行以下脚本 UPDATE ...

  4. oracle查看监听状态

    产看状态命令:lsnrctl status 启动监听:lsnrctl start 关闭监听:lsnrctl stop LSNRCTL for 32-bit Windows: Version 10.2. ...

  5. Gym - 101611D Decoding of Varints(边界值处理)

    Decoding of Varints Statements Varint is a type used to serializing integers using one or more bytes ...

  6. 30个Python物联网小实验5:光线感应灯

    30个Python物联网小实验5:光线感应灯 光线传感器 光线变化执行函数 光线状态执行函数 30个Python物联网小实验5:光线感应灯 光线传感器 可以检测周围环境的亮度: 方向性较好,感知特定方 ...

  7. c#实现最简快速排序,你绝对可以看懂

    原创文章,转载请注明出处 算法对于程序员的重要性不言而喻,今天我和大家分享算法中的一个基础算法,快速排序.作为一名程序员,相信大家都不陌生,但是要大家徒手一次性写出来,我估计还是有难度的.那么废话不多 ...

  8. Git 分支管理 创建与合并分支

    分支在实际中有什么用呢? 假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了. 如果等代码全部写完再一次提交, ...

  9. MATLAB求解线性规划

  10. Eureka 代码详解

    看过之前文章的朋友们,相信已经对Eureka的运行机制已经有了一定的了解.为了更深入的理解它的运作和配置,下面我们结合源码来分别看看服务端和客户端的通信行为是如何实现的.另外写这篇文章,还有一个目的, ...