python通过python-gitla
我的gitlab API版本是Gitlab API V4,运行的界面如下
代码如下:
#/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]
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341