Python如何使用Gitlab API實現(xiàn)批量的合并分支
這篇文章主要介紹了Python如何使用Gitlab API實現(xiàn)批量的合并分支,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
1.需求:每次大批量上線完成后,都會進行將hotfix合并到Master,合并到test/uat等等重復(fù)操作(上線發(fā)布后自動合并master已完成)。
2.現(xiàn)實:在完成發(fā)布后自動合并master后,可能還有的項目人員忘記合并到其他分支的情況,so
#!/usr/bin/python3 #coding=utf-8 # 自動合并項目dev分支到其他分支,當(dāng)合并失敗刪除merge請求 import sys import datetime import urllib.request import gitlab #項目名和項目ID project_name = "python-jmmei" project_list=[265] # 生成gitlab對象 gitlab_url = 'http://gitlab.baidu.com' token = 'xxxxxxxxxxxx' old_branch="hotfix" new_branches=["test","uat","uat_match"] #驗證登錄 gl = gitlab.Gitlab(gitlab_url, token) for project_id in project_list: project = gl.projects.get(project_id) print(project.id) for proj in new_branches: print("正在合并項目:%s的%s分支到%s分支"%(project_name,old_branch,proj)) # mr合并請求的對象 mr = None try: # 創(chuàng)建mr mr = project.mergerequests.create({'source_branch': old_branch, 'target_branch': proj, 'title': "%s to %s ---"%(old_branch,proj) + datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") }) # 接受合并請求 url = "%s/api/v3/projects/%s/merge_request/%s/merge"%(gitlab_url,project.id, mr.id) headers = { "PRIVATE-TOKEN":token } req = urllib.request.Request(url=url,headers=headers,method="PUT") resp = urllib.request.urlopen(req) # print(resp) print("合并到分支%s成功,結(jié)束...\r\n"%(proj)) except Exception as e: print("合并出錯,可能有沖突未解決或者%s分支并沒有更新,異常信息:\r\n"%(old_branch)) print(e) # 把剛創(chuàng)建的mr請求刪除 #v4版本支持 project.mergerequests.delete(mr.id) mr.delete()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python設(shè)置Excel單元格數(shù)字的顯示格式
Python語言可以幫助我們靈活設(shè)置Excel單元格的數(shù)字格式,保證數(shù)據(jù)的一致性與專業(yè)標準,本文將介紹如何使用Python對Excel工作表中單元格的數(shù)字格式進行設(shè)置,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下2024-06-06python中pandas.DataFrame排除特定行方法示例
這篇文章主要給大家介紹了關(guān)于python中pandas.DataFrame排除特定行的方法,文中給出了詳細的示例代碼,相信對大家的理解和學(xué)習(xí)具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03修改Python的pyxmpp2中的主循環(huán)使其提高性能
這篇文章主要介紹了修改Python的pyxmpp2中的主循環(huán)使其提高性能,pyxmpp2是Python中使用需XMPP協(xié)議的一個常用工具,要的朋友可以參考下2015-04-04