如何创建GitLab webhook?

时间:2013-06-17 22:33:41

标签: git gitlab webhooks

我已经读过GitLab能够通过“web hooks”向其他服务器发送消息,但我找不到 可以创建一个。

有人能指出我正确的方向吗?

5 个答案:

答案 0 :(得分:61)

我在官方文档和Stack Overflow中找到的用于查找网络摘要的所有答案都不正确。 admin area > hooks页面不包含 web 挂钩。它包含系统挂钩,当您创建/删除项目和用户等事件时会触发。这不是你想要的。

要查找您的网络摘要,请转到specific project > settings > web hooks (on sidebar in GitLab 6.1.0)页面。这些将在相关项目的接收后触发。您可以使用RequestBin之类的服务来查看有效负载的外观,并确保正确地解决这些问题以进行调试。

答案 1 :(得分:18)

使用版本8.16.1,我在

下找到了Web挂钩
specific project > settings > integrations

enter image description here

答案 2 :(得分:5)

For group level hooks:

visit: https://gitlab.com/groups/<yourgroup>/hooks

For group project level hooks:

visit: https://gitlab.com/yourgroup/yourproject/hooks

答案 3 :(得分:4)

您可以在此web_hook.rb中看到GitLab系统挂钩的示例,并创建GitHub project

  

在gitlab中,以管理员身份转到“Hooks”标签,创建挂钩为:http://your.ip.goes.here:8000

     

或更改脚本第175行的端口。

对于网络摘要,请参阅Jameymore accurate answer

您可以使用RequestBin等服务检查网络挂钩的结果 webhook解释的另一个例子:this question

请注意,gitlab webhook还存在一些问题:

答案 4 :(得分:3)

我建议使用GitLabForm - 配置作为GitLab的代码工具 - 使用以下代码配置webhook:

project_settings:
  my_group/my_project:
    hooks:
      hooks:
      'http://127.0.0.1:5000/hooks/my-hook-endpoint':
        push_events: false # this is set to true by GitLab API by default
        merge_requests_events: true
        token: some_secret_auth_token

披露:我写了这个工具,我的公司开源了。