Taiga+GitLab 集成:只为 master 分支启用?
Taiga+GitLab integration: only enable for master branch?
在工作中我们使用 GitLab 和 Taiga。
所以我们启用了它们之间的集成,现在当开发人员推送包含文本 TG-XYZ #closed
的提交时,编号为 XYZ 的针叶林问题就会关闭,并自动在其中放置评论。
这绝对很棒。但是,它不适用于 MergeRequests(或一般的功能分支):因为我们不想在 MergeRequest 合并到 master 之前关闭针叶林问题。
如何限制此集成仅适用于 master 分支?
对于需要通过合并请求批准工作流程的提交,您可以考虑:
- 不要 使用#closed(以免过早关闭 Taiga 插座)
- 设置一个Merge REquest event webhook, which will call a listener of your own: that listener would, when detecting a close event, read the commit message and call Taiga REST API itself in order to close the corresponding issue (issue status edit api).
我们找到了一个足够好的解决方法:仅从存储库的分支创建 MergeRequests,而不是从存储库中的分支。
如果你想强制执行这个政策,这样你的开发者就不会错误地破坏它,你可以去使用 gitlab 中的 "Protect branches" 特性,并使用通配符 (*) 来不允许任何创建新分支(这样他们就可以在每个开发人员的分支上推送分支,因此只有当 MR 合并到 master 时才会收到对 Taiga 的通知)。
在工作中我们使用 GitLab 和 Taiga。
所以我们启用了它们之间的集成,现在当开发人员推送包含文本 TG-XYZ #closed
的提交时,编号为 XYZ 的针叶林问题就会关闭,并自动在其中放置评论。
这绝对很棒。但是,它不适用于 MergeRequests(或一般的功能分支):因为我们不想在 MergeRequest 合并到 master 之前关闭针叶林问题。
如何限制此集成仅适用于 master 分支?
对于需要通过合并请求批准工作流程的提交,您可以考虑:
- 不要 使用#closed(以免过早关闭 Taiga 插座)
- 设置一个Merge REquest event webhook, which will call a listener of your own: that listener would, when detecting a close event, read the commit message and call Taiga REST API itself in order to close the corresponding issue (issue status edit api).
我们找到了一个足够好的解决方法:仅从存储库的分支创建 MergeRequests,而不是从存储库中的分支。
如果你想强制执行这个政策,这样你的开发者就不会错误地破坏它,你可以去使用 gitlab 中的 "Protect branches" 特性,并使用通配符 (*) 来不允许任何创建新分支(这样他们就可以在每个开发人员的分支上推送分支,因此只有当 MR 合并到 master 时才会收到对 Taiga 的通知)。