Gerrit

Compatible with: IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion Gogland DataGrip Rider Android Studio
28.06.2017
128 435

Gerrit Code Review Tool Integration

Only Gerrit 2.6 or newer is supported (missing / incomplete REST API in older versions)

Features:

  • Do reviews directly from your IDE (voting and commenting)
  • List and query changes
  • Optimized push dialog for Gerrit operations (refs/for, add reviewers, ...)
  • Compare (Diff) changes against your local clone (much more comfortable than in Web UI because of well known syntax highlighting and other IDE features)
  • Submit changes
  • Notifications for new changes which are waiting for your review
  • Cherry-Pick and checkout changes into your local clone
  • Star (and unstar) changes
  • File and line based comments (Gerrit 2.7 or newer only)
    Usage: Add new comments in file diff window with right click on line; remove not yet submitted comments with a click on comment icon. Comments need to be submitted with "Submit" or any "+/-" action.
  • Clone and set up Gerrit projects directly in IDE (commit-message-hook is automatically added)
  • Abandon changes
  • Publish and delete draft changes

If you find any issues, please report them (please use the GitHub issue tracker instead of review comments).

This plugin uses gerrit-rest-java-client for communication with Gerrit REST API. If you need to build a Java application which needs to communicate with Gerrit, this library probably supports you quite a lot.

If you like this plugin, you can support it:

  • Spread it: Tell your friends who are using IntelliJ and Gerrit about this plugin (or even bring them to use these fantastic products!)
  • Vote for it: Write your review and vote for it at the IntelliJ plugin repository.
  • Star it: Star it at GitHub. GitHub account required.
  • Improve it: Report bugs or feature requests. Or even fix / implement them by yourself - everything is open source!
  • Donate: You can find donation-possibilities in the README file.

Download plugin

Recent change notes

See for all changes: https://github.com/uwolfer/gerrit-intellij-plugin/commits/

  • Important Note: You can report exception-issues directly from your IDE. Please add at least a comment what you have done when it occurred / how you can reproduce it. It would be even better when add an email address so I can contact you in case of questions.
  • Would you like to try test-builds of this plugin before official release? Please check out: https://github.com/uwolfer/gerrit-intellij-plugin#pre-releases.
  • 1.0.0
    • add columns "Project" and "Topic" (optional) (thanks to eekboom)
    • handle hyperlinks in change details (thanks to eekboom)
    • minor fixes and improvements
  • 0.9.9.1
    • fix compatibility with IntelliJ 2016.3 EAP (tool window is blank)
    • allow using the tool window while IntelliJ is creating index
    • minor fixes and improvements
  • 0.9.9.0
    • fix automatic update for IntelliJ 2016.2 (by bumping version number)
    • improvements in error reporting flow
  • 0.9.8.2
    • fix displaying most significant label in change list
    • minor fixes and improvements
  • 0.9.8.1
    • fix loading changes with older Gerrit versions when env is non-English
    • fix NumberFormatException when using JRE 6
    • do not 'git reset' when checking out a change which was checked out before already
  • 0.9.8
    • add support for setting custom review labels when supported by server (other than Code-Review and Verified)
    • add support for publish / delete draft changes
    • add column "status" to change list
    • reviewer and owner filter: allow filtering by username
    • disable actions when not permitted
    • fix status-filter option "All"
    • many minor fixes and improvements
    • Note: Updates for IntelliJ versions older than 14 are no longer provided
  • 0.9.7.6
    • fixes (including Java 6 support)
  • 0.9.7.5
    • update gerrit-rest-java-client to v0.8.6 (which contains many improvements and a fix for upcoming Gerrit 2.12 release)
    • minor fixes
  • 0.9.7.4
    • fixes (including special fixes for users on Win)
  • 0.9.7.3
    • many fixes and small improvements
  • 0.9.7.2
    • minor fixes and improvements
  • 0.9.7.1
    • build with target-level 1.6 again
  • 0.9.7
    • add capability to filter for project
    • add support for loading more change while scrolling in list with Gerrit < 2.9
    • fix handling of expired sessions
    • checkout dialog: get fetch information dynamically (instead of hardcoded HTTP-URL)
    • many minor fixes and improvements
  • 0.9.6.2
    • IntelliJ 14.1 only: disable unsupported oneside-diff-viewer for displaying Gerrit changes
  • 0.9.6.1
    • IntelliJ 14.1 only: fix push dialog
  • 0.9.6
    • dynamically show label columns according to server support ("Verify", "Core-Review", ...)
    • IntelliJ 14: add support for multi-repository-projects in push dialog (limitation: it does not work cleanly with setting "Push to Gerrit by default" activated - in this case all repos are selected on dialog show)
    • fix COMMIT_MSG review for first commit in a new Git repository
    • fix reviews with comments for Gerrit >= 2.10
    • many minor fixes and improvements
  • 0.9.5.2
    • fix write-operations when using LDAP logins
    • fix login issues with googlesource.com Gerrit instances
    • minor fixes
  • 0.9.5.1
    • add save and cancel buttons to comment popup
    • minor fixes and improvements for exception reports - please make sure that you add an email address when you send an exception report from your IDE (in some case I need to ask you for more information)
  • 0.9.5
    • new action to add reviewers to a change
    • support for LDAP authentication (when logging in happens with a HTML form)
    • fix authentication when HTTP digest method is used
    • fix branch filter for some project setups
    • many minor fixes and improvements
  • 0.9.4
    • change-number-column is available in list (hidden by default)
    • change-id and change-number columns are hidden by default (can be enabled in plugin settings)
    • change-number is displayed in change detail panel
    • new action to copy change-id in list
    • "git review" like checkout (check-out action automatically creates a named branch)
    • improved focus handling of comment dialog (comments are not loosed anymore in some cases when focus is loosed; text field is focused when opened)
    • fix for Gerrit >= 2.10: fix display of account information (list, change details)
    • many minor fixes and improvements
  • 0.9.3
    • add action to checkout selected change
    • show notification balloons again (review notification, errors)
    • fix keyboard navigation in change list
  • 0.9.2
    • password settings / safe fixes
    • fix compatibility with latest IDEA 14 EAP
    • alternative branch push doesn't respect manual change
    • minor fixes and improvements
  • 0.9.1
    • lazily load changes list (25 changes initially; more will be loaded when you scroll down)
    • fix file comments when using IntelliJ on MS Win
    • order file comments according to date in diff viewer
    • minor fixes and improvements
  • 0.9.0
    • add support to select patch sets in grid
    • show commit message as a file in changes browser
    • add support to select diff base in change browser (patch sets can be diffed against each other)
    • show comments and comment drafts count in changes browser
    • save draft comments in Gerrit (available now after IntelliJ restart and in web UI)
    • improve notification and error handling for review and submit action
    • find Git repository if Git remote name equals Gerrit project name
    • many minor fixes and improvements
  • 0.8.1
    • improve usability for file comments (add, reply, edit)
    • new editor with preview for file comments
    • add option to not send notification mails in review dialog
    • minor fixes and improvements
  • 0.8.0
    • add support for range comments (visible in "new" Gerrit Web UI)
    • fix handling of comma separated user names in push dialog
    • improve HTTP proxy handling
    • improve SSL certificate handling (support for IntelliJ 13.1 certificate manager, certificates signed by an untrusted authority)
    • fix handling when Gerrit url and git remote url are not equal
    • major refactoring
    • many minor fixes and improvements
  • 0.7.0
    • add settings in push dialog (allows to push to Gerrit without modifying remote branch; can be activated by default in plugin settings)
    • action to abandon a change
    • many minor fixes and improvements
  • 0.6.2
    • improve review comment dialog (editor with spell-checking, better size, preview)
    • better display of comment (properly display multi-line and formatted comments)
    • show review status (and CC'ed reviewers) in change detail panel
    • fix possible indefinite HTTP request loop (in case of Gerrit server errors)
    • minor fixes and improvements
  • 0.6.1
    • fix issues with multiple windows (projects)
    • fix Gerrit checkout in case of empty settings
    • improve icons (hi-dpi ready)
    • add custom error handler: you can report exceptions now directly from IDE
  • 0.6
    • support for starring changes (show in list and set / unset icon)
    • use IntelliJ action infrastructure more consistently (allows user configuration like keyboard shortcut)
    • add support for anonymous (readonly; useful for e.g. Android and Gerrit development instances where REST API authentication is not supported yet)
    • fixed more ssl issues (port from commons-httpclient v3 to apache.httpcomponents v4)
    • add support for file comments on both sides (parent and revision)
    • set file review status to reviewed when opening files in diff viewer
    • many minor fixes and improvements
  • 0.5
    • display code review and verified status in list
    • show comments (and actions) in change detail panel
    • add filters for changes list (fulltext, status, branch, owner, reviewer, starred changes)
    • asynchronously load data from Gerrit (UI does not block anymore when connection is slow)
    • improve review notifications (show after start even when Gerrit tool window is not open)
    • add setting to show all changes (instead of changes from current project only)
    • fix remembering self-signed certs
    • fix for self signed ssl connections
    • remove fetch action from user-interface (no real use-case for it)
    • internal: migrate to Google Guice for dependency management (major refactoring)
    • many minor fixes and improvements
  • 0.4.1
    • performance improvement (reduced HTTP transfer sizes)
    • add support for HTTPS servers on non-default port with self-signed certs
    • fix timezone handling
    • improve HTTP authentication flow (again!) (everyone who had authentication issues should try again)
    • many minor fixes and improvements
  • 0.4.0
    • improve HTTP authentication flow (everyone who had authentication issues should try again)
    • set up Gerrit commit message hook after checkout (now you can checkout and set up Gerrit projects without any command line command)
    • allow shortcuts for actions
    • fix for Gerrit instances not running on root (e.g. example.com/r) of domain (thanks to magnayn)
    • fix for working with multiple IntelliJ windows at the same time
    • many minor fixes and improvements
  • 0.3.1
    • fix for projects containing '/' (slash) in their name
  • 0.3.0
    • add support for multi-VCS projects
    • improve error-handling
    • add IntelliJ 13 EAP support
  • 0.2.0
    • add support for file based comments (view and add) (Gerrit 2.7 or newer only)
    • better error messages (e.g. connection and authentication errors)