zoukankan      html  css  js  c++  java
  • 教你怎么调用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])
  • 相关阅读:
    visual C sharp express from 360 free download
    Druid 在小米公司部分技术实践-博客-云栖社区-阿里云
    公司业务-猫眼知健康
    Sculptor
    可译网 —— 翻译可以更简单
    牛客网-专业IT笔试面试备考平台,最全C++JAVA前端求职题库,全面提升IT编程能力
    设置Redis的LRU策略
    springboot中使用aop技术
    elasticSearch的部署和使用
    jvm原理和代码运行的过程
  • 原文地址:https://www.cnblogs.com/Javame/p/9363931.html
Copyright © 2011-2022 走看看