python通过python-gitlab的API V4来获取gitlab的仓库、用户等信息
admin
2023-07-19 09:02:10
0

我的gitlab API版本是Gitlab API  V4,运行的界面如下

python通过python-gitlab的API V4来获取gitlab的仓库、用户等信息

代码如下:

#/usr/bin/python
#coding=utf-8
import gitlab

plist = ''
def allprojects():
    #######获取gitlab的所有projects###
    projects = gl.projects.list(all=True)
    for project in projects:
        print project.name,project.id
def allgroups():
    #######获取gitlab的所有group名称以及ID###
    all_groups = gl.groups.list(all=True)
    for group in all_groups:
        print group.name,group.id
def allusers():
    #######获取gitlab的所有user名称以及ID###
    users = gl.users.list(all=True)
    for user in users:
        print user.username,user.id,user.name,user.state
def assgroup():
    #######获取gitlab指定组内所有user以及project名称以及ID信息,本例中组ID为58###
    gid = int(raw_input('Input the group ID: '))
    group = gl.groups.get(gid)
    print group.name
    #members = group.members.list(all=True)
    #for me in members:
    #    print me.username,me.id
    projects = group.projects.list(all=True)
    for project in projects:
        print group.name,project.name
    #######################################
def projectinfo():
    pid = int(raw_input('Input the project ID: '))
    projects = gl.projects.get(pid)
    print projects.name,projects.http_url_to_repo
def projectid():
    gid = int(raw_input('Input the group ID: '))
    group = gl.groups.get(gid)
    repo = str(raw_input('Input your repo name: '))
    project = gl.projects.get(group.name + '/' + repo)
    print project.id
def assuser():
    #######获取gitlab指定user###
    uid = int(raw_input('Input the user ID: '))
    user = gl.users.get(uid)
    print user.name
if __name__ == '__main__':
    gl = gitlab.Gitlab('http://10.50.22.22/', private_token='xxxxxxxxxxj')
    info = {1:'allprojects()',2:'allgroups()',3:'allusers()',4:'projectinfo()',5:'projectid()',6:'assuser()',7:'assgroup()'}
    serp = '-' * 20
    print '''%s
1. 列出所有的projects
2. 列出所有的groups
3. 列出所有的users
4. 根据project的ID列出project的所有信息
5. 列出指定的project ID
6. 列出指定的user
7. 列出指定的组内的信息  
%s''' % (serp,serp)
    num = int(raw_input('Input yout choice: '))
    exec info[num]

相关内容

热门资讯

雷军现身武汉,路边坐小板凳吃早... “我和雷军一起过早了!”“撂下筷子就去合照!”据武汉市文化和旅游局公众号,6月15日清晨,雷军闪现武...
美议员:特朗普一个目标都没实现... 当地时间6月14日,美国宣布与伊朗达成了谅解备忘录,使得局势降温,并为后续谈判打下基础。谅解备忘录将...
缅甸总统敏昂莱抵达北京 今天(6月15日)下午,缅甸总统敏昂莱抵达北京,开启为期五天的访华行程。这也是敏昂莱当选总统以来首次...
轰炸声中,和平协议谈妥了 6月14日,美国总统特朗普迎来80岁生日。他原本计划在“这个特殊日子”与伊朗签署终战协议,给这场历时...
老鼠、蛆虫、农残等食品安全问题... 快科技6月15日消息,针对一段时期以来监管发现和媒体曝光的山姆线下门店及线上网店多发的食品安全问题。...
京东健康将与北京友谊医院共建消... IT之家 6 月 13 日消息,“京东健康黑板报”公众号 13 日(今天)发文宣布,京东健康与首都医...
星河动力航天:谷神星二号(遥一... 6 月 15 日消息,星河动力航天今日宣布,谷神星二号(遥一)运载火箭飞行故障通过归零评审。 近日,...
德日再走向军事大国?特朗普一句... 【文/观察者网 柳白】二战结束八十多年后,国际安全格局迎来持续动荡,二战战败国德国与日本的军备动向再...
广汽与华为乾崑联合打造:启境获... 6月14日消息,据新浪汽车报道,6 月 13 日,在 2026 中国汽车重庆论坛上,启境汽车 CEO...
“无招”没错,他只是老了 文 | 有界UnKnown 还是想再聊聊钉钉,也聊聊无招。 我觉得这件事对很多打工人,以及很多高管...