gerrit/Documentation/config-plugins.txt
David Pursehouse 409ce6a9fd Merge branch 'stable-2.11'
* stable-2.11:
  Acceptance-tests: Don't assume UTF-8 system wide encoding
  Update version to 2.10.3.1
  Release notes for 2.10.3.1
  Project Owner Guide: Mention importer plugin to rename project
  Update the cookbook plugin revision
  Acceptance tests: Always treat response encoding as UTF-8
  Fix broken formatting in 2.10.3 release notes
  Update 2.11 release notes
  Add anchors to plugin sections in plugin documentation page
  Add description of importer plugin to the plugin documentation page
  Fix rendering issues in Configuration documentation
  Document that submit should for granted on refs/heads/*
  Update version to 2.10.3
  Update 2.10.3 release notes
  Improve the version computation for the release notes
  Check reachability from R_HEADS/R_TAGS/REFS_CONFIG when creating branches
  Update 2.10.3 release notes
  Include submitter in ChangeMessage on submission
  Support hybrid OpenID and OAuth2 authentication
  Move edit ref name methods from ChangeEditUtil to RefNames
  Remove tests related to duplicate event type registration
  Events: Allow same event type to be re-registered
  InlineEdit: Clarify difference between remove and revert operation
  Documentation: clone buck from Github
  ChangeTable: Always add the title tooltip on label column entries
  Enable 'Save' button when 'Display In Review Category' pref is changed
  Add ForcePushIT to acceptance tests
  InlineEdit: Handle enter event in add file dialog box
  Update replication plugin to latest revision
  Release notes for Gerrit 2.10.3
  Fix NPE in GitWebServlet
  Update revision of the replication plugin
  Fix required index version for online reindexing in 2.11 release notes
  Update buck version to same as master
  OAuth: Respect servlet context path in URL for login token
  Invalidate OAuth session after web_sessions cache expiration
  Set version to 2.11
  Update 2.11 release notes
  Prevent wrong content type for CSS files
  Improve rebase usability with the RebaseDialog
  Update 2.11 release notes
  MergeabilityCacheImpl: Only get needed refs
  Explain online reindexing in 2.11 release
  Revert marking merged or abandoned changes in related changes

Change-Id: Id915ef7316b3e721738064bb1cce97020e04296e
2015-04-20 10:32:27 +09:00

577 lines
21 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

= Plugins
The Gerrit server functionality can be extended by installing plugins.
[[installation]]
== Plugin Installation
Plugin installation is as easy as dropping the plugin jar into the
`$site_path/plugins/` folder. It may take
link:config-gerrit.html#plugins.checkFrequency[a few minutes] until
the server picks up new and updated plugins.
Plugins can also be installed via
link:rest-api-plugins.html#install-plugin[REST] and
link:cmd-plugin-install.html[SSH].
[[development]]
== Plugin Development
How to develop plugins is described in the link:dev-plugins.html[
Plugin Development Guide].
If you want to share your plugin under the link:licenses.html#Apache2_0[
Apache License 2.0] you can host your plugin development on the
link:https://gerrit-review.googlesource.com[gerrit-review] Gerrit
Server. You can request the creation of a new Project by email
to the link:https://groups.google.com/forum/#!forum/repo-discuss[Gerrit
mailing list]. You would be assigned as project owner of the new plugin
project so that you can submit changes on your own. It is the
responsibility of the project owner to maintain the plugin, e.g. to
make sure that it works with new Gerrit versions and to create stable
branches for old releases.
[[core-plugins]]
== Core Plugins
Core plugins are packaged within the Gerrit war file and can easily be
installed during the link:pgm-init.html[Gerrit initialization].
The core plugins are developed and maintained by the Gerrit maintainers
and the Gerrit community.
[[commit-message-length-validator]]
=== commit-message-length-validator
This plugin checks the length of a commits commit message subject and
message body, and reports warnings or errors to the git client if the
lengths are exceeded.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/commit-message-length-validator[
Project] |
link:https://gerrit.googlesource.com/plugins/commit-message-length-validator/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/commit-message-length-validator/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[cookbook-plugin]]
=== cookbook-plugin
Sample plugin to demonstrate features of Gerrit's plugin API.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/cookbook-plugin[
Project] |
link:https://gerrit.googlesource.com/plugins/cookbook-plugin/+doc/master/src/main/resources/Documentation/about.md[
Documentation]
[[download-commands]]
=== download-commands
This plugin defines commands for downloading changes in different
download schemes (for downloading via different network protocols).
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/download-commands[
Project] |
link:https://gerrit.googlesource.com/plugins/download-commands/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/download-commands/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[replication]]
=== replication
This plugin can automatically push any changes Gerrit Code Review makes
to its managed Git repositories to another system. Usually this would
be configured to provide mirroring of changes, for warm-standby
backups, or a load-balanced public mirror farm.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/replication[
Project] |
link:https://gerrit.googlesource.com/plugins/replication/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/replication/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[reviewnotes]]
=== reviewnotes
Stores review information for Gerrit changes in the `refs/notes/review`
branch.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/reviewnotes[
Project] |
link:https://gerrit.googlesource.com/plugins/reviewnotes/+doc/master/src/main/resources/Documentation/about.md[
Documentation]
[[singleusergroup]]
=== singleusergroup
This plugin provides a group per user. This is useful to assign access
rights directly to a single user, since in Gerrit access rights can
only be assigned to groups.
[[other-plugins]]
== Other Plugins
Besides core plugins there are many other Gerrit plugins available.
These plugins are developed and maintained by different parties.
The Gerrit Project doesn't guarantee proper functionality of any of
these plugins.
The Gerrit Project doesn't provide binaries for these plugins, but
there are some public services, like the
link:https://ci.gerritforge.com/[CI Server from GerritForge], that
offer the download of ready plugin jars.
The following list gives an overview about available plugins, but the
list may not be complete. You may discover more plugins on
link:https://gerrit-review.googlesource.com/#/admin/projects/?filter=plugins%252F[
gerrit-review].
[[admin-console]]
=== admin-console
Plugin to provide administrator-only functionality, intended to
simplify common administrative tasks. Currently providing user-level
information. Also providing access control information by project or
project/account.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/admin-console[
Project] |
link:https://gerrit.googlesource.com/plugins/admin-console/+doc/master/src/main/resources/Documentation/about.md[
Documentation]
[[avatars-external]]
=== avatars/external
This plugin allows to use an external url to load the avatar images
from.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/avatars/external[
Project] |
link:https://gerrit.googlesource.com/plugins/avatars/external/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/avatars/external/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[avatars-gravatar]]
=== avatars/gravatar
Plugin to display user icons from Gravatar.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/avatars/gravatar[
Project]
[[branch-network]]
=== branch-network
This plugin allows the rendering of Git repository branch network in a
graphical HTML5 Canvas. It is mainly intended to be used as a
"project link" in a GitWeb configuration or by other Gerrit GWT UI
plugins to be plugged elsewhere in Gerrit.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/branch-network[
Project] |
link:https://gerrit.googlesource.com/plugins/branch-network/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/branch-network/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[changemessage]]
=== changemessage
This plugin allows to display a static info message on the change screen.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/changemessage[
Project] |
link:https://gerrit.googlesource.com/plugins/changemessage/+doc/master/src/main/resources/Documentation/about.md[
Plugin Documenatation] |
link:https://gerrit.googlesource.com/plugins/changemessage/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[codenvy]]
=== codenvy
Plugin to allow to edit code on-line on either an existing branch or an
active change using the link:http://codenvy.com[Codenvy] cloud
development platform.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/codenvy[
Project]
[[delete-project]]
=== delete-project
Provides the ability to delete a project.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/delete-project[
Project] |
link:https://gerrit.googlesource.com/plugins/delete-project/+doc/master/src/main/resources/Documentation/about.md[
Documentation]
[[egit]]
=== egit
This plugin provides extensions for easier usage with EGit.
The plugin adds a download command for EGit that allows to copy only
the change ref into the clipboard. The change ref is needed for
downloading a Gerrit change from within EGit.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/egit[
Project] |
link:https://gerrit.googlesource.com/plugins/egit/+doc/master/src/main/resources/Documentation/about.md[
Documentation]
[[force-draft]]
=== force-draft
Provides an ssh command to force a change or patch set to draft status.
This is useful for administrators to be able to easily completely
delete a change or patch set from the server.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/force-draft[
Project]
[[gitblit]]
=== gitblit
GitBlit code-viewer plugin with SSO and Security Access Control.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/gitblit[
Project]
[[github]]
=== github
Plugin to integrate with GitHub: replication, pull-request to Change-Sets
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/github[
Project]
[[gitiles]]
=== gitiles
Plugin running Gitiles alongside a Gerrit server.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/gitiles[
Project]
[[imagare]]
=== imagare
The imagare plugin allows Gerrit users to upload and share images.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/imagare[
Project] |
link:https://gerrit.googlesource.com/plugins/imagare/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/imagare/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[importer]]
=== importer
The importer plugin allows to import projects from one Gerrit server
into another Gerrit server.
Projects can be imported while both source and target Gerrit server
are online. There is no downtime required.
The git repository and all changes of the project, including approvals
and review comments, are imported. Historic timestamps are preserved.
Project imports can be resumed. This means a project team can continue
to work in the source system while the import to the target system is
done. By resuming the import the project in the target system can be
updated with the missing delta.
The importer plugin can also be used to copy a project within one Gerrit
server, and in combination with the link:#delete-project[delete-project]
plugin it can be used to rename a project.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/importer[
Project] |
link:https://gerrit.googlesource.com/plugins/importer/+doc/master/src/main/resources/Documentation/about.md[
Documentation]
[[its-plugins]]
=== Issue Tracker System Plugins
Plugins to integrate with issue tracker systems (ITS), that (based
on events in Gerrit) allows to take actions in the ITS. For example,
they can add comments to bugs, or change status of bugs.
All its-plugins have a common base implementation which is stored in
the `its-base` project. `its-base` is not a plugin, but just a
framework for the ITS plugins which is packaged within each ITS plugin.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-base[
its-base Project] |
link:https://gerrit.googlesource.com/plugins/its-base/+doc/master/src/main/resources/Documentation/about.md[
its-base Documentation] |
link:https://gerrit.googlesource.com/plugins/its-base/+doc/master/src/main/resources/Documentation/config.md[
its-base Configuration]
[[its-bugzilla]]
==== its-bugzilla
Plugin to integrate with Bugzilla.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-bugzilla[
Project] |
link:https://gerrit.googlesource.com/plugins/its-bugzilla/+doc/master/src/main/resources/Documentation/about.md[
Documentation]
[[its-jira]]
==== its-jira
Plugin to integrate with Jira.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-jira[
Project] |
link:https://gerrit.googlesource.com/plugins/its-jira/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[its-rtc]]
==== its-rtc
Plugin to integrate with IBM Rational Team Concert (RTC).
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-rtc[
Project] |
link:https://gerrit.googlesource.com/plugins/its-rtc/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[javamelody]]
=== javamelody
This plugin allows to monitor the Gerrit server.
This plugin integrates JavaMelody in Gerrit in order to retrieve live
instrumentation data from Gerrit.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/javamelody[
Project] |
link:https://gerrit.googlesource.com/plugins/javamelody/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
https://gerrit.googlesource.com/plugins/javamelody/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[menuextender]]
=== menuextender
The menuextender plugin allows Gerrit administrators to configure
additional menu entries from the WebUI.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/menuextender[
Project] |
link:https://gerrit.googlesource.com/plugins/menuextender/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/menuextender/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[motd]]
=== motd
This plugin can output messages to clients when pulling/fetching/cloning
code from Gerrit Code Review. If the client (and transport mechanism)
can support sending the message to the client, it will be displayed to
the user (usually prefixed by “remote: ”), but will be silently
discarded otherwise.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/motd[
Project] |
link:https://gerrit.googlesource.com/plugins/motd/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/motd/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[oauth-authentication-provider]]
=== OAuth authentication provider
This plugin enables Gerrit to use OAuth2 protocol for authentication.
Two different OAuth providers are supported:
* GitHub
* Google
https://github.com/davido/gerrit-oauth-provider[Project] |
https://github.com/davido/gerrit-oauth-provider/wiki/Getting-Started[Configuration]
[[project-download-commands]]
=== project-download-commands
This plugin adds support for project specific download commands.
Project specific download commands that are defined on a parent project
are inherited by the child projects. Child projects can overwrite the
inherited download command or remove it by assigning no value to it.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/project-download-commands[
Project] |
link:https://gerrit.googlesource.com/plugins/project-download-commands/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/project-download-commands/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[quota]]
=== quota
This plugin allows to enforce quotas in Gerrit.
To protect a Gerrit installation it makes sense to limit the resources
that a project or group can consume. To do this a Gerrit administrator
can use this plugin to define quotas on project namespaces.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/quota[
Project] |
link:https://gerrit.googlesource.com/plugins/quota/+doc/master/src/main/resources/Documentation/about.md[
Documentation]
link:https://gerrit.googlesource.com/plugins/quota/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[reviewers]]
=== reviewers
A plugin that allows adding default reviewers to a change.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/reviewers[
Project] |
link:https://gerrit.googlesource.com/plugins/reviewers/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/reviewers/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[reviewers-by-blame]]
=== reviewers-by-blame
A plugin that allows automatically adding reviewers to a change from
the git blame computation on the changed files. It will add the users
that authored most of the lines touched by the change, since these
users should be familiar with the code and can mostly review the
change.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/reviewers-by-blame[
Project] |
link:https://gerrit.googlesource.com/plugins/reviewers-by-blame/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/reviewers-by-blame/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[groovy-provider]]
=== scripting/groovy-provider
This plugin provides a Groovy runtime environment for Gerrit plugins in Groovy.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/groovy-provider[
Project] |
link:https://gerrit.googlesource.com/plugins/scripting/groovy-provider/+doc/master/src/main/resources/Documentation/about.md[
Documentation]
[[scala-provider]]
=== scripting/scala-provider
This plugin provides a Scala runtime environment for Gerrit plugins in Scala.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/scala-provider[
Project] |
link:https://gerrit.googlesource.com/plugins/scripting/scala-provider/+doc/master/src/main/resources/Documentation/about.md[
Documentation]
[[server-config]]
=== server-config
This plugin enables access (download and upload) to the server config
files. It may be used to change Gerrit config files (like
`etc/gerrit.config`) in cases where direct access to the file system
where Gerrit's config files are stored is difficult or impossible to
get.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/server-config[
Project]
[[serviceuser]]
=== serviceuser
This plugin allows to create service users in Gerrit.
A service user is a user that is used by another service to communicate
with Gerrit. E.g. a service user is needed to run the Gerrit Trigger
Plugin in Jenkins. A service user is not able to login into the Gerrit
WebUI and it cannot push commits or tags.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/serviceuser[
Project] |
link:https://gerrit.googlesource.com/plugins/serviceuser/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/serviceuser/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[uploadvalidator]]
=== uploadvalidator
This plugin allows to configure upload validations per project.
Project owners can configure blocked file extensions, required footers
and a maximum allowed path length. Pushes of commits that violate these
settings are rejected by Gerrit.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/uploadvalidator[
Project] |
link:https://gerrit.googlesource.com/plugins/uploadvalidator/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/uploadvalidator/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[websession-flatfile]]
=== websession-flatfile
This plugin replaces the built-in Gerrit H2 based websession cache with
a flatfile based implementation. This implemantation is shareable
amongst multiple Gerrit servers, making it useful for multi-master
Gerrit installations.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/websession-flatfile[
Project] |
link:https://gerrit.googlesource.com/plugins/websession-flatfile/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/websession-flatfile/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[wip]]
=== wip
This plugin adds a new button that allows a change owner to set a
change to Work In Progress, and a button to change from WIP back to a
"Ready For Review" state.
Any change in the WIP state will not show up in anyone's Review
Requests. Pushing a new patchset will reset the change to Review In
Progress.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/wip[
Project] |
link:https://gerrit.googlesource.com/plugins/wip/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/wip/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
[[x-docs]]
=== x-docs
This plugin serves project documentation as HTML pages.
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/x-docs[
Project] |
link:https://gerrit.googlesource.com/plugins/x-docs/+doc/master/src/main/resources/Documentation/about.md[
Documentation] |
link:https://gerrit.googlesource.com/plugins/x-docs/+doc/master/src/main/resources/Documentation/config.md[
Configuration]
GERRIT
------
Part of link:index.html[Gerrit Code Review]
SEARCHBOX
---------