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项目信息的主要内容,如果未能解决你的问题,请参考以下文章

(转)通过gitlab统计git提交的代码量

gitlab通过api创建组项目成员

有没有办法使用 gitlab python api 从 gitlab 项目中获取当前和旧用户名?

如何从 Gitlab API 获取用户所有已加星标的项目

python-gitlab 统计代码行数

Python 获取一个字典的子集