【问题标题】:git server side 'update' hook in bitbucketbitbucket 中的 git 服务器端“更新”挂钩
【发布时间】:2013-04-18 19:30:24
【问题描述】:

我正在寻找创建 git 服务器端推送挂钩的方法(将用于强制在每个提交消息中引用 JIRA 票号)。

根据pro git - git hooks,在服务器端使用的 git hook 是 'update',它存在于 .git/hooks 目录中。 由于我使用 BitBucket 进行 git 托管,因此我需要以某种方式将此文件发送到站点中的 .git/hooks 目录。

使用BitBucket services 不合适,因为它们是“接收后”挂钩,所以使用现有的或编写我自己的代理没有意义,因此this question 没有给我一个合适的解决方案。

【问题讨论】:

    标签: git bitbucket githooks


    【解决方案1】:

    显然,根据我在answers.atlassian.com得到的答案,这是不可能的。

    【讨论】:

      【解决方案2】:

      很遗憾,Bitbucket Server 不提供 API 或 UI 来安装 update 挂钩。它仅支持该级别的 pre-receivepost-receive 挂钩。但是,由于 Bitbucket Server 在后端使用通用的git,因此确实可以安装任何标准的 git 挂钩。

      这种方法需要对安装 Bitbucket 服务器的主机具有管理员/root 权限的文件系统访问权限。

      这些钩子位于shared/config/git/template/hooks 中,并在您创建新存储库时自动复制到每个存储库的钩子目录中。要为现有存储库安装自定义挂钩,请在 shared/data/repositories/<repo_number>/hooks 中执行此操作。

      我创建了一个现成的解决方案,用于使用可配置的用户名和密码针对可配置的 JIRA 主机验证提交日志。该解决方案验证以下内容:

      • 符合 Linux 内核样式日志格式(50/72 规则)
      • 摘要中存在 JIRA 问题密钥
      • JIRA 问题受让人的电子邮件与提交者的电子邮件相匹配
      • JIRA 问题状态为“进行中”

      您可以在此处下载文件: https://github.com/AlexanderAmelkin/bitbucket-git-hooks-for-jira

      为了可移植性,主要的验证脚本是用 JavaScript 编写的 node.js,可用于 Windows 和 Linux。

      【讨论】:

        【解决方案3】:

        据我所知,JIRA 现在已与 Bitbucket 集成。您只需要JIRA Bitbucket plugin

        【讨论】:

        • 感谢您的回答,但建议的插件不强制执行提交消息。它仅将包含 JIRA 票号的提交消息与相关的 JIRA 票链接。
        猜你喜欢
        • 2018-02-05
        • 2019-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-12
        相关资源
        最近更新 更多