在github上提交消息钩子

Jas*_*son 5 github jira githooks

我试图在github上设置一个用于STASH的预接收钩子。在STASH中,我有一个预接收钩子,用于强制执行“一个应包含JIRA编号的自定义提交消息”。

现在,我试图了解在GitHub上执行类似操作的最佳方法是什么。如果我将其拆分,它将是:

  • 需要自定义提交消息。
  • 每个提交都应包括一个现有的JIRA。
  • 也对任何拉取请求强制执行此操作。

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

这里有人可以帮我吗,这怎么办?

Von*_*onC 2

GitHub 仅提供 webhooks,它允许您监听某些事件并做出反应,包括推送。

但这只允许您对推送做出反应(就像接收后挂钩一样),而不是阻止它。

您可以为该推送事件构建一个侦听器,该侦听器将:

  • 检查刚刚推送的最新提交
  • HEAD~1如果提交不遵循预期策略则重置为( push --force)

但对于最初推送该提交的用户来说,要意识到该提交刚刚从 GitHub 存储库中消失,这将是一件棘手的事情。


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

但根据您的团队的不同,设置一个每个人都可以访问的存储库可能很困难。