我正在尝试对 gerrit 事件执行一些操作
想法是在任何存储库中发生上述任何情况时在 API 端点上获取事件。
我在 Amazon Linux ec2 实例上安装了 gerrit 3.1.3,在另一台类似的 EC2 机器上安装了一个节点服务器(具有开放的 API 端点)。在 gerrit 配置中,我添加了以下几行:
[plugin "webhooks"]
connectionTimeout = 3000
socketTimeout = 2500
maxTries = 300
retryInterval = 2000
threadPoolSize = 3
[remote "wh_projectCreated"]
url = http://17.233.138.23:8080/gereve
maxTries = 1
sslVerify = false
event = patchset-created
我检查过 webhooks
和 hooks
插件都安装在 gerrit 安装中。
现在,我找不到合适的博客文章来说明如何配置和获取要在 webhook 上接收的 gerrit 事件。
我还需要做什么,帮帮忙!
最佳答案
找到解决方案,将准确记下:
All-Projects
repo 协议(protocol)(带有管理网址)。 git clone "http://admin@<gerrit-address>-:<gerrit-port>/a/All-Projects"
.cd All-Projects/
git fetch origin refs/meta/config:refs/remotes/origin/meta/config
git checkout meta/config
All-Projects
, 创建一个名为 webhooks.config
的文件.[remote "changemerged"]
url = http://<webhook-api>:8081/change-merged
event = change-merged
[remote "project_created"]
url = http://<webhook-api>:8081/create-jenkins-project
event = project-created
参见 gerrit-events .
添加并提交更改:git commit -am "Add webhooks config file"
并 checkin git push origin meta/config:meta/config
就这样,我们完成了!
(如果觉得有帮助请点个赞)
https://stackoverflow.com/questions/65575218/