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的提示,就只能获取到评论

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