Python使用Gitlab API实现批量合并分支的方法

  介绍

这篇文章将为大家详细讲解有关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实现批量合并分支的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

Python使用Gitlab API实现批量合并分支的方法