我已经读过GitLab能够通过“web hooks”向其他服务器发送消息,但我找不到 可以创建一个。
有人能指出我正确的方向吗?
答案 0 :(得分:61)
我在官方文档和Stack Overflow中找到的用于查找网络摘要的所有答案都不正确。 admin area > hooks
页面不包含 web 挂钩。它包含系统挂钩,当您创建/删除项目和用户等事件时会触发。这不是你想要的。
要查找您的网络摘要,请转到specific project > settings > web hooks (on sidebar in GitLab 6.1.0)
页面。这些将在相关项目的接收后触发。您可以使用RequestBin之类的服务来查看有效负载的外观,并确保正确地解决这些问题以进行调试。
答案 1 :(得分:18)
答案 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行的端口。
对于网络摘要,请参阅Jamey的more 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
披露:我写了这个工具,我的公司开源了。