April 30th 1 PM ET

Git Integration for Jira Cloud Documentation

Adding webhooks for Gerrit

Introduction

Webhooks are not configured by default in Gerrit. They are not built into Gerrit just like they are in GitHub, GitLab and etc. Thus, when calling Gerrit webhooks, these won’t trigger the reindex of the integration / repositories.

 

Installation

To use webhooks with Gerrit, it needs to be configured. For starters, install Gerrit with the webhook plugin by reading at https://gerrit.googlesource.com/plugins/webhooks/ and the steps below.

Project (repository) list

curl http(s)://your.org.com:8080/projects/?d

Enabled webhooks for the repository, for example, MyTestRepo

curl http(s)://your.org.com:8080/config/server/webhooks~projects/MyTestRepo/remotes

Add webhook for the repository

curl --user username:password -H 'Content-Type: application/json' -X PUT -d @webhook.json http(s)://your.org.com:8080/a/config/server/webhooks~projects/MyTestRepo/remotes/bbb-webhook

Where webhook.json:

{
   "url" : "https://example.com/webhook/url",
   "maxTries" : 3,
   "sslVerify": true
}

 

Manually Trigger Webhooks

Create a webhook that can be triggered for any individual repository. It can be used with continuous integration service

Required headers:

  • ‘x-bbb-webhook-type’: PUSH

  • ‘Content-Type’: application/json

Optional headers:

  • ‘x-bbb-webhook-id’ — Can be any string representing the id of the request to be used.

Usage examples:

curl -H 'x-bbb-webhook-type: push' -H 'content-type: application/json' -X POST -d @payload.json https://webhook/url
curl -H 'x-bbb-webhook-type: push' -H 'x-bbb-webhook-id: id-string' -H 'content-type: application/json' -X POST -d @payload.json https://webhook/url

Payload.json

{  
    "origin": "repository-origin"
}
Have feedback about this article? Did we miss something? Let us know!
On this page