文章前言
每周五上午十二点前需要将项目上各组开发分支合并软集仓库分支, 需要在十个项目上进行 merge
程序员一般都是 很讨厌麻烦, 所以编写此脚本进行 批量 merge, 统一进行合并
另外, 如果项目经历上线或者修复 bug 等情况, 需要合并分支至 uat、release、master 等分支, 也是能够满足此脚本使用情况
类似于这种功能性脚本, 一般习惯使用 Python 来编写, 通过 GitLab 提供的 REST API 进行调用
GitLab 提供了非常丰富的 REST API 操作, 大家可以搜索官方网址查看
脚本思路
参考了网上大家提供的一部分脚本, 结合项目本身提供了此思路
- 在 GitLab 中获取个人令牌 Token
- 获取需要合并的项目 ID
- 获取需要合并项目的来源分支以及目标分支
- 验证 GitLab 对应的 Token 是否正确
- 进行合并请求, 失败会删除对应的合并请求
在网上找到的大部分执行不成功, 可能在之前是可以成功的, 但是随着 GitLab 的 API 3->4 升级, 网上大部分脚本都执行失败了
运行前准备
首先, 电脑上需要 安装 python3 运行环境, 将对应的 import 包依赖进行下载, 最重要的就是 获取令牌 Token
登陆进 GitLab 设置页面, 点击访问令牌
我设置了中文, 不过差别不大, Token 还是很好认的
依次输入 Token名称、Token有效期、以及对应的权限范围, 将对应的 Token 复制到对应的脚本就好了
具体实现代码
import urllib.request import gitlab # ========================================配置开始================================================= # "xxxx" # " > 正在合并项目 :: [%s] 的 [%s] 分支到 [%s] 分支" % (project_name, source_branch, target)) # mr合并请求的对象 mr = None try: # 创建 merge request mr = project.mergerequests.create({'source_branch': source_branch, 'target_branch': target, 'title': "Merge branch '%s' into '%s'" % ( source_branch, target) }) # 接受合并请求 url = '%s/api/v4/projects/%s/merge_requests/%s/merge' % (gitlab_url, project.id, mr.iid) print(' > Merge url :: [%s], title :: [%s] ' % (url, mr.title)) # 个人/项目访问令牌, 添加至请求头 headers = {"PRIVATE-TOKEN": token} req = urllib.request.Request(url=url, headers=headers, method="PUT") resp = urllib.request.urlopen(req) if resp.code == 200: print(" > 合并到目标分支 [%s] 成功, 结束... \r\n" % target) else: mr.delete() except Exception as e: print(" > 合并出错, 可能有冲突未解决或者 [%s] 分支并没有更新, 异常信息:: \r\n" % source_branch, str(e)) # 把创建的 merge 请求删除 mr.delete() if __name__ == "__main__": main()
总结
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 好薇2024《兵哥哥》1:124K黄金母盘[WAV+CUE]
- 胡歌.2006-珍惜(EP)【步升大风】【FLAC分轨】
- 洪荣宏.2014-拼乎自己看【华特】【WAV+CUE】
- 伊能静.1999-从脆弱到勇敢1987-1996精选2CD【华纳】【WAV+CUE】
- 刘亮鹭《汽车DJ玩主》[WAV+CUE][1.1G]
- 张杰《最接近天堂的地方》天娱传媒[WAV+CUE][1.1G]
- 群星《2022年度发烧天碟》无损黑胶碟 2CD[WAV+CUE][1.4G]
- 罗文1983-罗文甄妮-射雕英雄传(纯银AMCD)[WAV+CUE]
- 群星《亚洲故事香港纯弦》雨果UPMAGCD2024[低速原抓WAV+CUE]
- 群星《经典咏流传》限量1:1母盘直刻[低速原抓WAV+CUE]
- 庾澄庆1993《老实情歌》福茂唱片[WAV+CUE][1G]
- 许巍《在别处》美卡首版[WAV+CUE][1G]
- 林子祥《单手拍掌》华纳香港版[WAV+CUE][1G]
- 郑秀文.1997-我们的主题曲【华纳】【WAV+CUE】
- 群星.2001-生命因爱动听电影原创音乐AVCD【MEDIA】【WAV+CUE】