I am trying to perform some actions on gerrit events
- When a new repo is added/created.
- When a new patch-set is created.
- When a change is merged into a specific branch.
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://188.8.131.52:8080/gereve maxTries = 1 sslVerify = false event = patchset-created
I have checked
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:
- In a Folder clone the
All-Projectsrepo (with admin url).
git clone "http://admin@<gerrit-address>-:<gerrit-port>/a/All-Projects".
git fetch origin refs/meta/config:refs/remotes/origin/meta/config
git checkout meta/config
- In the root of directory
All-Projects, create a file named
- Modify the contents below:
[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
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)
Answered By – Salim Shamim
This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0