This plugin polls Gerrit for changes submitted to the Gerrit review system. When a new change is submitted, gReview will checkout the change and verify it builds. gReview will update the Gerrit change to reflect the correct score for a successful or unsuccessful build.
- Gerrit Code Review Integration.
- GitWeb Integration.
- Builds and Verifies Changes Submitted to Gerrit.
- Changes are built independently in the order they are submitted.
- Change dependencies are resolved naturally through Gerrit PatchSets.
- Change comments automatically updated with build results.
- Gerrit Change Display Tab available in Build Summary.
- Git submodule support.
- Remote trigger builds from Gerrit.
- Branching support
- All the Features Provided By Bamboo
The Bamboo install guide can be found here.
A quick install is available here.
A Tomcat install guide is also in the works.
This plugin can be installed via the Universal Plugin Manager in Bamboo.
Note: Resave your repository settings in your projects, which use Gerrit, to store your settings with the most recent format and save mechanisms.
- Login as admin.
- Select 'Configure Plan' under 'Actions' in the dropdown menu on the right.
- Select the 'Source Repositoryies' Tab.
- Select 'Add Repository'.
By default, gReview is configured to draw down changes from Gerrit using the master branch. If you choose, you may overide this setting and configure to poll all branches or a specific custom branch. However, keep in mind, this setting may be redundant if you use Bamboo's branching features. If you choose to overide the default branch, you will find the settings available here:
- Login as admin.
- Select 'Configure Plan' under 'Actions' in the dropdown menu on the right.
- Select the 'Source Repositoryies' Tab.
- Select the repository you intend to configure.
- If the repository is 'linked', follow the link to your repository.
- Goto 'Advanced options'
- Under 'Default Branch', select master, 'All branches', or specify your custom branch.
- Save
- Login as admin.
- Select 'Plan Configuration' under 'Actions' in the dropdown menu on the right.
- Select the 'Stages' Tab.
- Select the job you're interested in. Usually there is only one, 'Default Job'.
- Under the job configuration, select the "Miscellaneous" tab.
- Check 'Run Gerrit Verification after main build.'
Gerrit change information is available under the Build Summary Gerrit Tab
- Login as admin.
- Select 'Configure Plan' under 'Actions' in the dropdown menu on the right.
- Select the 'Source Repositoryies' Tab.
- Select an existing Gerrit Repository or add one.
- Drop down 'Advanced Options' and select the GitWeb repository.
- Provide your details and save
- Login to Gerrit.
- Select Projects->List->'YourProject'
- Enter your new branch below beside "Branch Name"
- Provide the initial revision, leave as HEAD for branch off master
- Hit 'Create Branch'
- git fetch origin
- git checkout new-branch
- git checkout -b new-branch origin/master
- git checkout master
- git push origin HEAD:new-branch
- git checkout new-branch
- git push origin HEAD:refs/for/new-branch
- Go under 'Plan Configuration'=>'Triggers'.
- Select trigger which applies, usually the first trigger.
- Switch the setting from existing 'Polling the repository for changes' to 'Repository triggers the build when changes are committed'.
- Make sure the checkbox is selected for the repository you're using in your plan.
- If you enter an IP for security reasons, make sure it matches the hostname in your repo configuration. However, it should work fine if you leave empty.
- Hit 'Save'.
Make sure you have Gerrit setup correctly with SSH identity key generated and host used in the SSH connection string added to known host. Detailed instructions are available in the Gerrit documentation.
Note: Some builds will still hang in native msysgit mode on Windows due to the following issue with the bamboo-git-plugin: https://jira.atlassian.com/browse/BAM-11096.
You can work around this issue by manually adding your hostname, used in the repository configuration, to the msysgit/.ssh/known_hosts file. Example:
127.0.0.1 ssh-rsa XXXXB3NzaC1yc2EAAAADAQABBBBgQC699HzXHwr1H6OJeVlRo7h4r+3PY d0wNkqzl6EUAeU2iZjqFqQL2ZiNVqs2JrpTNadbgtXBNk9rhQIWajQZG9ZJG/OPxe+NOkbWQVev rcELsw5N2wxcJOWz+ey1tFv3VCtNCLUGgF7yIg0kZZVQ+HvAzLoMbiHs0haVmEjnLherSw==
If this is an upgrade, and you encouter a NullException when attempting to build, you may need to resave your repository settings.Release 1.2.3 changed the way the ssh private key is stored for multiple repositories. Resaving should resolve this issue.
This is an old issue and has been fixed in new releases of Bamboo. Here's the ticket.
If problems persist, you can turn on debugging in the Administration console to help resolve and report issues. Steps to turn on debugging:
- Goto Administration->System->Log Settings
- Add com.houghtonassociates.bamboo.plugins=DEBUG
Check your Bamboo home directory for log output:
Ex: bamboo-home\logs\atlassian-bamboo.log
- Fixed NullPointerException in ViewGerritChainResultsAction.
- Support for Bamboo 5.10.0-5.10.3
- Upgrade the jGit plugin to 4.0.3
- Upgrade gerrit-events to 2.5.0
- Migrate to new annotations for NotNull and Nullable
- Bring OSGi and Pom configuration up-to-date
- Upgrade atlassian plugin model to support 5.8.0-5.9.10
- Upgrade dependencies to support 5.8.0-5.9.10
- Upgrade the bamboo jGit plugin
- Upgrade gerrit-events to 2.1.0
- Remove BuildStrategy, TriggeredBuildStrategy, ImmutableChain.getTriggers deprecated references from GerritRepository and replace with newer call conventions
- Added capability for merging gerrit specific branches
- Support for Bamboo 5.6.0
- Added capability for creating branches
- Support for Bamboo 5.1.0 - 5.5.1
- Resolved permissions on configuration directory for MetaConfig
- Added Support for remote triggering builds from repository
- Tested with Gerrit 2.9
- Added capability for retrieving local and remote branches.
- Added functionality to support getOpenBranches.
- Resolved dependency loading issues with OSGI for 5.2-5.6
- Provided mechanism to change default branch to pull changes from
- How to restrict bamboo to poll the changes only on a particular branch #26
- gReview problem - bamboo is checking out master branch #30
- Removed Native Git dependency, replaced by latest jGit
- Removed bamboo-git plugin dependency
- Added submodule support
- Resolved dependency loading issues with OSGI
- Resolved path parsing issues with remote and local agent on Linux
- Extended Support for 4.2.1 - 5.1.1
- Issue #23 Changes discovering problem
- Issue #27 Bamboo 4.3 support
- Issue #21 Gerrit Chain Results screen shows changes from other repositories
- Issue #20 Edit Gerrit Repository' screen force to re-enter passphrase for private key
- Issue #19 NPE on Bamboo agent after job is dispatched by gReview
- Issue #16 4.2.X Support.
- Issue #13 gReview doesn't uniquely store connections settings per plan.
- Issue #12: NullPointer exception encountered in GerritService
- Issue #11: Error message reported by failed build can break verification update.
- Issue #10: Exclude Display of Commit Action Tag in Build Changes
- Issue #9: Exception on failed build
- Issue #8: Setting non standard port does not work
- Issue #7: Include Build Results URL for Verified Changes in Gerrit
- Issue #6: GitWeb Integration
- Issue #5: Gerrit Tab Displays on Unrelated Plans
- Issue #4: Build Plan Fails When no Changes Open
- Issue #1: Checkout Fails When Bamboo Configured with Native Git
- Issue #2: Add Git Submodules Capability
- 4.2.1-5.0.1: Use this branch for updates to the cooresponding releases
- master: Master supports ongoing development for 5.1.1 +
- `mvn package' (Apache Maven 2.2.1 was used to develop this plugin)
- Download and install the latest JDK.
- Download and install the Atlassian Plugin SDK.
- Run `atlas-package -DskipTests' in the directory containing Bamboo Gerrit Plugin pom.xml.
- Grab plugin JAR file from `./target/greview-.jar'.
Full documentation on how to develop Atlassian Plugins is available at the Atlassian Developer Site.
Full documentation on installing Atlassian Plugins is available at:
- http://confluence.atlassian.com/display/BAMBOO/Installing+a+new+Plugin (please note that gReview Plugin is 'Version 2' plugin)