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