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. 关于UML图的生成

    想把一个java工程生成UML图非常简单,之前我的eclipse是4.2.0的,没有对应的GEF,所以我索性就直接把工程粘到了My Eclipse中,因为My Eclipse里面有UML自动生成的功能 ...

  2. [hdu4738]求桥模板

    oj问题,待修改,存档. #include<stdio.h> #include<iostream> #include<cstdio> #include<sta ...

  3. [poj3107/poj2378]Godfather/Tree Cutting树形dp

    题意:求树的重心(删除该点后子树最大的最小) 解题关键:想树的结构,删去某个点后只剩下它的子树和原树-此树所形成的数,然后第一次dp求每个子树的节点个数,第二次dp求解答案即可. 此题一开始一直T,后 ...

  4. unix环境高级编程附录 B 通用代码

    0.说明: 在测试 unix 环境高级编程中的代码时,需要一些作者事先写好的代码, 如: apue.h 包含某些标准系统头文件,定义许多常量及函数原型 还有两个作者自编的函数来对错误进行处理 1.ep ...

  5. 懒人模式开启Android模块自动化Api之旅

    推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 在将业务进行模块化时,避免不了模块页面路由和模块通信, 大多数我 ...

  6. CLR via C# 第五章学习记录(更新中)

    1.设置全局溢出检查,项目属性->生成->高级->检测运算上溢/下溢 2.局部使用溢出检测 Byte b = ; b = ));// 不检测溢出 checked// 检测溢出代码段 ...

  7. vim配置----YouCompleteMe配置

    YouCompleteMe是一个功能极强的自动补全插件,安装这个插件折磨了我好久,找了很多博客查看都无果,最后还是感谢stack overflow.和其它的一些插件相比,YCM能够基于语法来给出相应的 ...

  8. 网络性能优化GSO/GIO研究

    性能检测工具安装 # curl -O http://downloads.es.net/pub/iperf/iperf-3.0.6.tar.gz # tar axf iperf-3.0.6.tar.gz ...

  9. ZOJ2868【折半】

    题意: 把一堆数分成两堆,使得两堆的差值最小. 思路: 先把一堆数分成两堆,然后用个set存一堆的所有组合,枚举第一堆的状态,二分查找第二堆接近half_value. 瞎说时间复杂度:O(2^17*3 ...

  10. 安装wepack

    安装webpack之前要安装node.js 1.安装webpack运行 npm install webpack -g 和npm install webpack-cli -g npm install w ...