在github上提交消息钩子

我试图在
github中设置一个pre-receive钩子,我以前在STASH上使用它.在STASH中,我有一个预接收挂钩,用于强制执行“应该包含JIRA编号的自定义提交消息”.

现在,我试图了解在github上做类似事情的最佳方法.如果我把它拆分,它将是:

>需要自定义提交消息.
>每次提交都应包括现有的JIRA.
>也可以在任何拉取请求中执行此操作.

例如:TEST-1添加第一个提交消息.

有谁可以帮助我,怎么办?

最佳答案
GitHub只有
offers webhooks,它允许你收听并对
certain events做出反应,包括推送.

但是这只会让你对推送作出反应(就像后接收挂钩那样),而不是阻止它.

你可以构建一个push事件的监听器,它将:

>检查刚推出的最新提交
>如果提交未遵循预期策略,则重置为HEAD~1(push –force)

但对于最初推送该提交的用户来说,这对于从GitHub仓库中消失的所谓提交来说会很棘手.

一个更好的解决方案是在服务器中设置一个裸存储库,您可以在其中设置预接收挂钩:如果该提交通过,则后接收挂钩会将其推送到预期的GitHub存储库.

但是根据您的团队,可能很难设置每个人都可以访问的回购.

点赞