官方文档:

https://docs.gitlab.com/ce/api/

https://docs.gitlab.com/ee/api/branches.html#list-repository-branches

============

1、生成Personal Access Tokens

选择右上角用户信息setting—>Access Tokens

2、常用Gitlab API

#获取所有的项目信息

#private_token来自Access Tokens

http://192.168.199.184/api/v3/projects?private_token=gqv1hvjbGCLs6uAUmBV8&per_page=10

#获取项目信息

#15 为项目ID,来自所有的项目信息

http://192.168.199.184/api/v3/projects/15

#查看用户信息

http://192.168.199.184/api/v3/projects/15/users?private_token=gqv1hvjbGCLs6uAUmBV8&per_page=10

#获取commits提交信息

#15 为项目ID,来自所有的项目信息

http://192.168.199.184/api/v3/projects/15/repository/commits/master?private_token=gqv1hvjbGCLs6uAUmBV8&per_page=10

3、实战案例

获取项目信息

#!/usr/bin/env python
#-*-coding:utf-8-*-
import requests
url = 'http://192.168.199.184/api/v3/projects?private_token=oMJwN5ErC8_n1QvTsyDR&per_page=50'    
user_url= 'http://192.168.199.184/api/v3/projects/15/users?private_token=oMJwN5ErC8_n1QvTsyDR&per_page=10'  
#获取项目id和项目名称
def GetProject_id(project_url):  
r = requests.get(project_url)
data = r.json()
ProjectId_list = []
ProjectName_list = []
for i in data:
ProjectId_list.append(i['id'])
ProjectName_list.append(i['name'])
return ProjectId_list,ProjectName_list
#根据项目id获取项目下的用户信息
def GetProject_userlist():
IdList = GetProject_id(url)
project_id = IdList[0]
project_name = IdList[1]
for id in project_id:
l = []
project_user = requests.get(user_url.format(id))  
#生成完整的用于显示项目下所有user的连接
req_data = project_user.json()
for i in req_data:
l.append(i['name'])
print (project_name[project_id.index(id)],l)
GetProject_userlist()

获取项目提交信息

#-*-coding:utf-8-*-
import requests
import re
url = 'http://192.168.199.184/api/v3/projects?private_token=oMJwN5ErC8_n1QvTsyDR&per_page=10'
r =requests.get(url)
p_group = ['HJ']
data = r.json()
print ("项目名称",' '*20,'最近提交时间')
for i in data:
if i['ssh_url_to_repo'].split(':')[1].split('/')[0] in p_group:
r1 = requests.get('http://192.168.199.184/api/v3/projects/15/repository/commits/master?private_token=gqv1hvjbGCLs6uAUmBV8&per_page=10'
% i['id'])
data2 = r1.json()
if data2['message'].strip() == '404 Commit Not Found':
print (i['ssh_url_to_repo'].split(':')[1],' '*11,'未提交任何代码')
else:
print(i['ssh_url_to_repo'].split(':')[1], ' ' * 11, data2['committed_date'][:10])

【转】教你怎么调用Gitlab API的更多相关文章

  1. 教你怎么调用Gitlab API

    1.生成Personal Access Tokens 选择右上角用户信息setting—>Access Tokens 2.常用Gitlab API #获取所有的项目信息 #private_tok ...

  2. [技术博客]大闸蟹的技术博客,通过gitlab api进行用户批量创建

    技术博客--通过gitlab api批量注册用户 gitlab登录界面本身提供了register功能,但需要手工一个个添加,对于一次性会添加整个班级的学生的软工平台来说并不科学合理.使用gitlab ...

  3. GitLab API使用小结

    GitLab API使用小结 背景描述 需求描述: 最近因为工作上的需求,需要对GitLab进行大批量的操作,又因为服务器不在境内,所以所有的操作都需要连接VPN来进行FQ访问.目前大概有6000多个 ...

  4. Unity在Android和iOS中如何调用Native API

    本文主要是对unity中如何在Android和iOS中调用Native API进行介绍. 首先unity支持在C#中调用C++ dll,这样可以在Android和iOS中提供C++接口在unity中调 ...

  5. C#调用windows API的一些方法

    使用C#调用windows API(从其它地方总结来的,以备查询) C#调用windows API也可以叫做C#如何直接调用非托管代码,通常有2种方法: 1.  直接调用从 DLL 导出的函数. 2. ...

  6. 使用Python调用Flickr API抓取图片数据

    Flickr是雅虎旗下的图片分享网站,上面有全世界网友分享的大量精彩图片,被认为是专业的图片网站.其API也很友好,可以实现多种功能.这里我使用了Python调用其API获得了大量的照片数据.需要注意 ...

  7. WebApi系列~通过HttpClient来调用Web Api接口

    回到目录 HttpClient是一个被封装好的类,主要用于Http的通讯,它在.net,java,oc中都有被实现,当然,我只会.net,所以,只讲.net中的HttpClient去调用Web Api ...

  8. C#调用Windows API函数截图

    界面如下: 下面放了一个PictureBox 首先是声明函数: //这里是调用 Windows API函数来进行截图 //首先导入库文件 [System.Runtime.InteropServices ...

  9. 以短链服务为例,探讨免AppKey、免认证、Ajax跨域调用新浪微博API

    新浪微博的API官方提供了很多种调用方式,支持编程的,归根结底就是两种: 1.基于Oauth协议,使用Open API.(http://open.weibo.com/wiki/%E6%8E%88%E6 ...

随机推荐

  1. centos7 命令 对比 cenots6 命令

    1)  列出所有service开机启动项 centos 7 systemctl list-unit-files |grep enabled centos 6 chkconfig --list|grep ...

  2. angular6 路由拼接查询参数如 ?id=1 并获取url参数

    angular6 路由拼接查询参数如 ?id=1 并获取url参数 路由拼接参数: <div class="category-border" [routerLink]=&qu ...

  3. SQL更新语句的执行

    联系上文SQL查询语句的执行 查询语句的那一套流程,更新语句也是同样会走一遍. 更新流程还涉及两个重要的日志模块: ​ redo log(重做日志)和 binlog(归档日志) redo log:重做 ...

  4. 解决tomcat控制台乱码问题

    问题原因:编码不一致,tomcat启动后默认编码UTF-8,而windows的默认编码是GBK.所以只需配置启动tomcat后为GBK编码即可. 做法:找到路径 $xxx$\apache-tomcat ...

  5. 一篇文章了解JsBridge

    链接:https://blog.csdn.net/duwen90/article/details/79389545

  6. 利用数据库管理工具(Navicat)导出数据到Excel表中

    如果只是想把数据库表中数据简单导出来,可以利用数据库管理工具中的工具 1.先查询 2.在查询出结果中全选 3.导出向导 4.选择Excel 5.选择导出地址并命名

  7. Java - Test - TestNG: testng.xml 元素 group

    1. 概述 group 相关的元素 groups run 其他相关(不准备提了) package class include exclude 2. 背景 准备 了解了 class 及其子元素 问题 对 ...

  8. 前端之HTML基础篇

    HTML基础篇 目录                                                                               本章内容: 简介 1. ...

  9. XFire调用CXF参数为Null的问题

    最近,领导分配了一个任务,做接口联调.情况是这样,对方客户升级了接口采用CXF,而我们还是用的XFire1.2.6,首先就遇到了这个问题:XFire调用CXF参数为Null的问题 . 在网上搜了一大堆 ...

  10. Codeforces Round #577 (Div. 2) 题解

    比赛链接:https://codeforc.es/contest/1201 A. Important Exam 题意:有\(n\)个人,每个人给出\(m\)个答案,每个答案都有一个分值\(a_i\), ...