码迷,mamicode.com
首页 > 编程语言 > 详细

python通过接口获取gitlab项目信息

时间:2020-06-30 11:12:08      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:imp   lis   adt   ret   return   desc   port   python   绝对路径   

参考资料:https://python-gitlab.readthedocs.io/en/stable/gl_objects/mrs.html

这是python-gitlab接口文档,用作参考

 

首先做一些准备工作

1 import gitlab
2 
3 url = http://服务器地址/
4 private_token = "私人token"
5 
6 
7 gl = gitlab.Gitlab(url,private_token ,api_version=4)
8 gl.auth()
9 f = open(r文件的绝对路径, a)

 

1.首先需要引入gitlab模块,使用pip install python-gitlab即可安装

2.填写好url,到服务器地址即可

3.填写好private_token,获取方法可参考https://blog.csdn.net/zangxueyuan88/article/details/81195666

4.获取gitlab信息

5.进行认证

6.这一步是用来将获取到的信息存为文档

 

接下来就可以参考接口文档,获取需要的信息了,例如

1 def ListProJectList():
2     "get all the project lists"
3     projects = gl.projects.list()
4     for project in projects:
5         print(project)
6     return projects
7 
8 ListProJectList()

会列出所有项目信息,但返回值是

<class ‘gitlab.v4.objects.Project‘> => {‘id‘: 67, ‘description‘: ‘‘, ‘name‘:...}
<class ‘gitlab.v4.objects.Project‘> => {‘id‘: 53, ‘description‘: ‘‘, ‘name‘:...}

 这样的形式,可以通过project.id或者project.attributes["id"]来获得特定的内容

关于attributes方法,在上段代码中如果print(project.attributes)那么输出结果就为

 {‘id‘: 67, ‘description‘: ‘‘, ‘name‘:...}
 {‘id‘: 53, ‘description‘: ‘‘, ‘name‘:...}

 

 

 

另:把print的内容写入文档中的方法是print(待写入内容,file=f) (f是准备阶段的文档)

在所有文档内容都写入完成后,记得要f.close

 

关于文档中项目discussion信息的获取,如果项目中有未完成的discussion resolved,则可以获取到对评论的评论,如果没有discussion resolved的提示,就只能获取到评论

若有小伙伴有对此的解决办法,欢迎留言指导,感谢!

python通过接口获取gitlab项目信息

标签:imp   lis   adt   ret   return   desc   port   python   绝对路径   

原文地址:https://www.cnblogs.com/RuiRuia/p/13212159.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!