如何为GitLab合并请求设置定时合并?
GitLab是否支持定时合并已获批的合并请求?
是的,GitLab原生支持定时合并已通过审批的合并请求(MR),可以通过两种方式实现这类需求:
1. 内置定时合并功能
在MR页面的「合并选项」区域,找到「Schedule merge」选项,直接设置想要执行合并的具体日期和时间即可。该功能会在指定时间自动尝试合并,前提是MR在触发时刻满足所有预设合并条件——比如已完成审批、CI/CD流水线执行成功、代码无冲突等。
2. 流水线调度+API实现复杂逻辑
如果需要配合迁移、证书部署这类联动场景的复杂定时逻辑,可以通过GitLab CI/CD的定时流水线结合API完成:
- 编写CI/CD任务脚本,调用GitLab的合并API
POST /projects/:id/merge_requests/:merge_request_iid/merge,按需传入参数(如should_remove_source_branch等) - 在项目的「CI/CD > 调度」页面设置流水线的执行时间,实现定时触发合并操作
需要注意:无论用哪种方式,都要确保MR在定时执行的时刻满足所有合并前置条件,否则合并会失败,需要手动介入处理。
内容的提问来源于stack exchange,提问作者David Hempy
相关产品推荐
相关产品推荐

