bitbucket中的git服务器端“更新”钩子

时间:2013-04-18 19:30:25

标签: git bitbucket githooks

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

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

使用BitBucket services是不合适的,因为它们是'post-receive'钩子,因此使用现有或编写我自己的经纪人是没有意义的,因此this question不能给我一个合适的溶液

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

此方法要求对安装了Bitbucket Server的主机具有admin / 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编写的,适用于Windows和Linux都可用的node.js。

答案 2 :(得分:-1)

我知道JIRA现在与Bitbucket集成了。您所需要的只是JIRA Bitbucket plugin