python通过api访问gitlab获取提交人的name,自动执行接口自动化接口用例。


  前文:做接口自动化的时候,想当别人提交的时候,结合公司所用的rf框架,自动执提交人的所有的接口用例。

使用的python-gitlab库不是gitlab库,执行的时候可以看到该库也是通过访问url的方式去获取数据,调用这个库就比较简单了。

import gitlab

url = xxxxxxx     #gitlab服务端地址
private_token = xxxxxxx        #授权一个token
gl = gitlab.Gitlab(url,private_token ,api_version='4') #api_version默认是4,具体看自己公司的版本
gl.auth()    #主动发起认证,好像不要也能获取到数据
private_token  这里就比较坑,自己尝试的时候百度了好多都没有提到这个怎么来的,这里具体说明下,需要到gitlab里去分配访问api的个人令牌
只有用这里生成的token才可以通过api访问gitlab

 

 

project = gl.projects.get(400)    #400是项目的id
commit = project.commits.list()[00]  #获取最新的提交人信息,这里我取的第一个人的
git_name =commit.committer_name   #可以直接提取用户信息里的name,也可以获取提交的id,created_at,message

项目id最快捷的就是进入目标项目页面,F12显示网页源代码,直接搜索:project_id,出现的value数字就是项目id

 

这里获取到提交人的name了,我就可以结合公司的rf运行对应人的接口用例了

rnuorder = 'robot --pythonpath . --include {} case'.format(git_name)     #rf的执行命令,打了这个人tag的都会执行
cmd_mkdir = "cd {}".format(cmd_path)    #cmd_path为项目的目录
cmd = "{0} && {1} ".format(cmd_mkdir, rnuorder)  #整合多条命令
os.system(cmd)   #执行命令

后面将这个py文件放jenkins里,当gitlab有提交时,就执行这个文件,这样就提前知道提交人的接口用例是否有错误,还可以运行完后发送邮件通知,或者钉钉通知。



 

 

 

参考2个文档:

前者告诉你Gitlab API有哪些能力,后者告诉你Python如何调用这些API。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM