I am trying to perform some actions on gerrit events
The idea is to get event on API endpoint when any of the above happens in any repository.
I have gerrit 3.1.3 installation running on Amazon Linux ec2 instance, and a node server (with open API endpoints) on another similar EC2 Machine. In gerrit config I have added the following lines:
[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
I have checked webhooks
and hooks
plugins are both installed in gerrit installation.
Now, I couldn't find a proper blog post which tells how to configure and get gerrit events to be received on webhooks.
What do I need to do more, great help!
Found the solution, will write down precisely:
All-Projects
repo (with admin url). 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
, create a file named 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
see gerrit-events.
Add and commit the change: git commit -am "Add webhooks config file"
And check in git push origin meta/config:meta/config
and that's it we are done!
(Upvote if you found this helpful)