教你怎么调用Gitlab API

Posted CTO老王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教你怎么调用Gitlab API相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

Gitlab的API调用

#yyds干货盘点#Centos7环境下手把手教你安装Gitlab代码管理工具

onActivityResult 未在 Android API 23 的片段上调用

误删除服务器上的git项目,教你如何利用本地git恢复(gitlab)

CentOS 7手把手教你搭建GitLab

导航到另一个片段时触发 API 调用