我试图在
github中设置一个pre-receive钩子,我以前在STASH上使用它.在STASH中,我有一个预接收挂钩,用于强制执行“应该包含JIRA编号的自定义提交消息”.
现在,我试图了解在github上做类似事情的最佳方法.如果我把它拆分,它将是:
>需要自定义提交消息.
>每次提交都应包括现有的JIRA.
>也可以在任何拉取请求中执行此操作.
例如:TEST-1添加第一个提交消息.
有谁可以帮助我,怎么办?
最佳答案
GitHub只有
offers webhooks,它允许你收听并对
certain events做出反应,包括推送.
但是这只会让你对推送作出反应(就像后接收挂钩那样),而不是阻止它.
你可以构建一个push事件的监听器,它将:
>检查刚推出的最新提交
>如果提交未遵循预期策略,则重置为HEAD~1(push –force)
但对于最初推送该提交的用户来说,这对于从GitHub仓库中消失的所谓提交来说会很棘手.
一个更好的解决方案是在服务器中设置一个裸存储库,您可以在其中设置预接收挂钩:如果该提交通过,则后接收挂钩会将其推送到预期的GitHub存储库.
但是根据您的团队,可能很难设置每个人都可以访问的回购.