python通过接口获取gitlab项目信息
Posted -Ruirui-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python通过接口获取gitlab项目信息相关的知识,希望对你有一定的参考价值。
参考资料: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项目信息的主要内容,如果未能解决你的问题,请参考以下文章