Gerrit

Compatible with: IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion Gogland DataGrip Rider MPS Android Studio
Sep 12, 2017
138 978

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.3
    • fixes related to password-safe
    • UI optimizations
    • many minor fixes and improvements
  • 1.0.2
    • fix multiple IntelliJ instances (project windows) support
  • 1.0.1
    • checkout: set remote branch for simpler push
    • checkout: create unique branch name (fixes issue when change was checked out before already)
    • many minor fixes and improvements
  • 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)