介绍
这篇文章将为大家详细讲解有关Python使用Gitlab API实现批量合并分支的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
1。需求:每次大批量上线完成后,都会进行将热修复补丁合并到主人,合并到测试/uat等等重复操作(上线发布后自动合并掌握已完成).
2。现实:在完成发布后自动合并掌握后,可能还有的项目人员忘记合并到其他分支的情况,所以
# !/usr/bin/python3 #=utf - 8编码 #,自动合并项目dev分支到其他分支,当合并失败删除合并请求 import 系统 import datetime import urllib.request import gitlab #项目名和项目ID 时间=project_name “python-jmmei" project_list=[265] #,生成gitlab对象 时间=gitlab_url & # 39; http://gitlab.baidu.com& # 39; 时间=token & # 39; xxxxxxxxxxxx& # 39; old_branch=癶otfix" new_branches=[“test",“uat",“uat_match"】 #验证登录 时间=gl gitlab.Gitlab (gitlab_url,,令牌) for project_id  project_list拷贝: 时间=project 才能;gl.projects.get (project_id) 打印(project.id)才能 for 才能;proj  new_branches:拷贝 ,,,print(“正在合并项目:% s的% s分支到% s分支“% (project_name, old_branch项目)) ,,,#,合先生并请求的对象 ,,,mr =,没有 ,,,试一试: ,,,,,#,创建先生 ,,,,,mr =, project.mergerequests.create ({& # 39; source_branch& # 39;:, old_branch, ,,,,,,,,,,,,,,,,,,,,,& # 39;target_branch& # 39;:,项目, ,,,,,,,,,,,,,,,,,,,,,& # 39;标题# 39;:,“% s 用% s ——产生绯闻;% (old_branch项目),+,datetime.datetime.now () .strftime (“Y % - % - % d % H: % m: % S") ,,,,,,,,,,,,,,,,,,,,}) ,,,, ,,,,,#,接受合并请求 ,,,,,url =,“% s/api/v3/项目/% s/merge_request/% s/merge" % (gitlab_url、project.id, mr.id) ,,,,,headers =, { ,,,,,,,“PRIVATE-TOKEN":令牌 ,,,,,} ,,,,,req =, urllib.request.Request (url=url,标题=头、方法=癙UT") ,,,,,resp =, urllib.request.urlopen(要求) ,,,,,#,打印(职责) ,,,,,印刷(“合并到分支% s成功,结束…\ r \ n" %(项目)) ,,,except Exception as e: ,,,,,印刷(“合并出的错,可能有冲突未解决或者% s分支并没有更新,异常信息:\ r \ n" % (old_branch)) ,,,,,印刷(e) ,,,,,#,把刚创建的先生请求删除 ,,,,,# v4版本支持,project.mergerequests.delete (mr.id) ,,,,,mr.delete ()
关于“Python使用Gitlab API实现批量合并分支的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。