泰加+;GitLab集成:仅对主分支启用?

泰加+;GitLab集成:仅对主分支启用?,git,gitlab,webhooks,taiga,Git,Gitlab,Webhooks,Taiga,在工作中,我们使用GitLab和Taiga 因此,我们启用了它们之间的集成,现在,当开发人员推送一个包含文本TG-XYZ#closed的提交时,编号为XYZ的taiga问题将被关闭,并自动在其中放置一条注释 这真是太棒了。但是,它不能很好地处理MergeRequests(或者通常的功能分支):因为在MergeRequest合并到master之前,我们不想关闭taiga问题 如何将此集成限制为仅与主分支机构一起工作?对于需要通过合并请求审批工作流的提交,您可以考虑: 未使用#已关闭(以避免太早关

在工作中,我们使用GitLab和Taiga

因此,我们启用了它们之间的集成,现在,当开发人员推送一个包含文本
TG-XYZ#closed
的提交时,编号为XYZ的taiga问题将被关闭,并自动在其中放置一条注释

这真是太棒了。但是,它不能很好地处理MergeRequests(或者通常的功能分支):因为在MergeRequest合并到master之前,我们不想关闭taiga问题


如何将此集成限制为仅与主分支机构一起工作?

对于需要通过合并请求审批工作流的提交,您可以考虑:

  • 未使用#已关闭(以避免太早关闭针叶刀)
  • 设置一个,它将调用您自己的侦听器:当检测到关闭事件时,该侦听器将读取提交消息并调用自身以关闭相应的问题()

我们找到了一个足够好的解决方法:只从存储库的分支而不是从存储库的分支创建合并请求


如果您希望强制执行此策略,以便您的开发人员不会错误地破坏它,您可以使用gitlab中的“保护分支”功能,并使用通配符(*)来不允许创建任何新分支(通过这种方式,他们将能够在每个开发者的分支上推送分支,因此只有当MR合并到master时,发送给Taiga的通知才会到达).

但并非所有提交都通过MR,我们希望直接到主分支的提交仍使用hook@knocte只要它们被直接推送到master上,那么它们就可以保留它们的提交消息,并从中描述的Taiga状态更改中获益,但如果我启用了该集成,提交就会被推送到分支(用于合并请求)也将关闭问题…或者您是否建议仅对直接提交到主分支的提交执行此操作,然后使用MergeRequest事件webhook从我的侦听器获取TG编号并关闭它?@knocte是的,这是一个想法。对于为合并请求推送到分支的提交,我不会使用Taiga本机integration,但直接从webhook进行管理。这是一个有点棘手的工作流,希望我可以将原始webhook配置为忽略对非masterGood解决方案的推送,并且比我的答案更精确。+1