3.2 KiB
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.
Previously Renovate stored metadata in Gerrit's hashtags. To keep backwards compatibility, Renovate still reads metadata from hashtags. But Renovate always puts its metadata in the commit message footer! When the Renovate maintainers mark Gerrit support as stable, the maintainers will remove the "read metadata from hashtags" feature. This means changes without metadata in the commit message footer will be "forgotten" by Renovate.
Authentication
Let Renovate use your HTTP access token by doing one of the following:
- Set your HTTP access token as a
password
in yourconfig.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"
}
}
Unsupported platform features/concepts
- Creating issues (not a Gerrit concept)
- Dependency Dashboard (needs issues first)
Known problems
PR title is different from first commit message
Sometimes the PR title passed to the Gerrit platform code is different from the first line of the commit message. For example:
- Commit-Message=
Update keycloak.version to v21
- Pull-Request-Title=
Update keycloak.version to v21 (major)
In this case the Gerrit-Platform implementation tries to detect this and change the commit-message in a second patch-set.