GitLab能否将组里程碑降级为单个项目里程碑?
GitLab组里程碑降级到项目的解决方案
GitLab目前不支持直接通过Web界面将组里程碑降级为单个项目里程碑,官方设计里组里程碑是服务于整个组下多项目协作的,没有提供反向的一键降级操作。
不过可以通过以下替代方案实现类似需求:
手动迁移(适合任务量少的场景)
- 在目标项目中创建一个新的项目里程碑,配置和原组里程碑一致的名称、截止日期等信息
- 进入原组里程碑的页面,批量选中所有关联的议题、合并请求,将它们的里程碑属性修改为刚创建的项目里程碑
- 确认所有任务都迁移完成后,删除原组里程碑
API批量处理(适合任务量较大的场景)
- 调用GitLab API获取组里程碑关联的所有议题和合并请求ID(接口:
GET /groups/:id/milestones/:milestone_id/issues和GET /groups/:id/milestones/:milestone_id/merge_requests) - 遍历获取到的ID,调用更新接口将每个议题/合并请求的里程碑ID替换为目标项目里程碑的ID(接口:
PUT /projects/:id/issues/:issue_id和PUT /projects/:id/merge_requests/:merge_request_id) - 确认迁移完成后,调用API删除原组里程碑(接口:
DELETE /groups/:id/milestones/:milestone_id)
- 调用GitLab API获取组里程碑关联的所有议题和合并请求ID(接口:
注意:如果原组里程碑关联了多个项目的任务,项目里程碑只能关联本项目内的资源,这种情况下你需要把不同项目的任务分别迁移到对应项目的里程碑,无法统一迁移到单个项目里。
内容的提问来源于stack exchange,提问作者toto
相关产品推荐
相关产品推荐

