Issue
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://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!
Solution
Found the solution, will write down precisely:
- In a Folder clone the
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
- In the root of directory
All-Projects
, create a file namedwebhooks.config
. - 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
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)
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