Files
renovate/lib/modules/platform/gerrit
spmiller 777b884a38 feat(gerrit): Add gitUrl support (#42672)
* feat: Gerrit supports gitUrl

This change adds support for the gitUrl parameter to the gerrit platform.

It queries the gerrit server to check what download options are available. If ssh is selected but not available, it will throw an error.

* feat: Gerrit supports gitUrl

This removes support for querying the supported download schemes and
instead hard-codes the default ssh port.

* fix: Review feedback

Addresses feedback left in review:
- constants for ports
- better SSH url creation
- more consistent util method usage

* fix: Review feedback

Addresses feedback left in review:
- Reverts SSH URL creation to ensure coverage target

* fix: Review feedback

Addresses feedback left in review:
- Convert switch statement to if/else
- Move endpointURL check into getGerritResponse

This makes the parse/clone calls unnecessary.

* fix: Review feedback

Addresses feedback left in review:
- Simplify ssh url creation
2026-04-21 21:36:37 +00:00
..
2026-02-19 18:00:32 +00:00

Gerrit

Supported Gerrit versions

Renovate supports all Gerrit 3.x versions.

Support for Gerrit is currently experimental, meaning that it might still have some undiscovered bugs or design limitations, and that we might need to change functionality in a non-backwards compatible manner in a non-major release.

Renovate stores its metadata in the commit message footer.

Authentication

![Gerrit HTTP access token](../../../assets/images/gerrit-http-password.png){ loading=lazy }
First, create a HTTP access token for the Renovate account.

Let Renovate use your HTTP access token by doing one of the following:

  • Set your HTTP access token as a password in your config.js file, or
  • Set your HTTP access token as an environment variable RENOVATE_PASSWORD, or
  • Set your HTTP access token when you run Renovate in the CLI with --password=

The Gerrit user account must be allowed to assign the Code-Review label with "+2" to their own changes for "automerge" to work.

You must set platform=gerrit in your Renovate config file.

Renovate PR/Branch-Model with Gerrit and needed permissions

If you use the "Code-Review" label and want to get automerge working then you must set autoApprove=true in your Renovate config. Renovate will now add the Code-Review label with the value "+2" to each of its "pull requests" (Gerrit-Change).

!!! note The bot's user account must have permission to give +2 for the Code-Review label.

The Renovate option automergeType: "branch" makes no sense for Gerrit, because there are no branches used to create pull requests. It works similar to the default option "pr".

Optional features

You can use the statusCheckNames configuration to map any of the available branch checks (like minimumReleaseAge, mergeConfidence, and so on) to a Gerrit label.

For example, if you want to use the Merge Confidence feature and map the result of the Merge Confidence check to your Gerrit label "Renovate-Merge-Confidence" you can configure:

{
  "statusCheckNames": {
    "mergeConfidence": "Renovate-Merge-Confidence"
  }
}

Also, labels in renovate.json will be mapped to hashtags in Gerrit. Example:

{
  "packageRules": [
    {
      "matchDepTypes": ["devDependencies"],
      "labels": ["renovate:devDependencies"]
    }
  ]
}

Server version dependent features

We use the Gerrit Get Version REST API to fetch the server version. You can use the experimental feature flag RENOVATE_X_PLATFORM_VERSION to set a specific server version. By setting the server version yourself, you save an API call that fetches the server version.

  • Use hasfooter:Renovate-Branch search operator instead of message:"Renovate-Branch: " for finding changes on Gerrit v3.6.0 or later
  • Use subject: search operator instead of message: for PR title search on Gerrit v3.8.0 or later.

Unsupported platform features/concepts

  • Creating issues (not a Gerrit concept)
  • Dependency Dashboard (needs issues first)