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. docker学习 (二)基本概念

    基本概念: Docker包括三个基本概念: 镜像(Image): 特殊的文件系统,提供容器运行时所需的程序.库.资源.配置文件.镜像不包含动态数据,内容在构建后不会被改变. 容器(Container) ...

  2. 你所不知道的html5与html中的那些事(三)

    文章简介: 关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?为什么一些专家认为html5完全完成后,所有的工作 ...

  3. iView之select获取value和label

    使用:label-in-value="true" @on-change="obtainValue" 详见官方文档:https://www.iviewui.com ...

  4. zookeeper原理与实践(一)----zookeeper的基本功能

    我们现在围绕两个问题来学习zookeeper: 什么是zookeeper? zookeeper基础知识 什么是zookeeper: zookeeper是hadoop下面的一个子项目,是一个分布式协调服 ...

  5. day02-HTML(2)

    一.新知识 1.  !+tab   html5的标签结构   2.  Charset   编码 Ascll Ansi Unicode Gbk Gb2312 Big5 Utf-8   通用字符集 3.关 ...

  6. 动画重定向技术分析和Unity中的应用

    http://www.jianshu.com/p/6e9ba1b9c99e 因为一些手游项目需要使用Unity引擎,但在动画部分需要使用重定向技术来实现动画复用,考虑到有些项目开发人员没有过这方面的经 ...

  7. 51nod1108(曼哈顿距离)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1108 题意:中文题诶- 思路:曼哈顿距离,题目没要求所求点要在 ...

  8. 「GXOI / GZOI2019」逼死强迫症——斐波那契+矩阵快速幂

    题目 [题目描述] ITX351 要铺一条 $2 \times N$ 的路,为此他购买了 $N$ 块 $2 \times 1$ 的方砖.可是其中一块砖在运送的过程中从中间裂开了,变成了两块 $1 \t ...

  9. 洛谷P4770 [NOI2018]你的名字(后缀自动机+线段树)

    传送门 我有种自己根本没学过SAM的感觉……最后还是抄了老半天的题解…… 首先,对$S$和每一次的$T$都建一个SAM 先考虑一下$l=1,r=\left| S \right|$的情况 设$lim_i ...

  10. 【SQL】关系数据库概念及数据模型和关系模型

    一.关系数据库 目前关系数据库是数据库应用的主流,许多数据库管理系统的数据模型都是基于关系数据模型开发的. 1)关系数据库:在一个给定的应用领域中,所有实体及实体之间联系的集合构成一个关系数据库. 2 ...