3

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

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

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

4

3 回答 3

3

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

于 2013-05-06T17:01:20.113 回答
1

不幸的是,Bitbucket Server 没有提供 API 或 UI 来安装update挂钩。它仅支持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 for node.js 编写的,可用于 Windows 和 Linux。

于 2017-07-07T08:57:01.050 回答
-1

我知道 JIRA 现在与 Bitbucket 集成。您只需要一个JIRA Bitbucket 插件

于 2013-04-20T14:10:59.823 回答