blob: fc42d369f6276d03ef42cd0f8e9bb179f92c5b96 [file] [log] [blame]
Edwin Kempin6a789632015-02-13 11:48:04 +01001= Plugins
2
3The Gerrit server functionality can be extended by installing plugins.
4
5[[installation]]
6== Plugin Installation
7Plugin installation is as easy as dropping the plugin jar into the
8`$site_path/plugins/` folder. It may take
9link:config-gerrit.html#plugins.checkFrequency[a few minutes] until
10the server picks up new and updated plugins.
11
12Plugins can also be installed via
13link:rest-api-plugins.html#install-plugin[REST] and
14link:cmd-plugin-install.html[SSH].
15
16[[development]]
17== Plugin Development
18
19How to develop plugins is described in the link:dev-plugins.html[
20Plugin Development Guide].
21
22If you want to share your plugin under the link:licenses.html#Apache2_0[
23Apache License 2.0] you can host your plugin development on the
24link:https://gerrit-review.googlesource.com[gerrit-review] Gerrit
25Server. You can request the creation of a new Project by email
26to the link:https://groups.google.com/forum/#!forum/repo-discuss[Gerrit
27mailing list]. You would be assigned as project owner of the new plugin
28project so that you can submit changes on your own. It is the
29responsibility of the project owner to maintain the plugin, e.g. to
30make sure that it works with new Gerrit versions and to create stable
31branches for old releases.
32
33[[core-plugins]]
34== Core Plugins
35
36Core plugins are packaged within the Gerrit war file and can easily be
37installed during the link:pgm-init.html[Gerrit initialization].
38
39The core plugins are developed and maintained by the Gerrit maintainers
40and the Gerrit community.
41
42=== commit-message-length-validator
43
44This plugin checks the length of a commit’s commit message subject and
45message body, and reports warnings or errors to the git client if the
46lengths are exceeded.
47
48link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/commit-message-length-validator[
49Project] |
50link:https://gerrit.googlesource.com/plugins/commit-message-length-validator/+doc/master/src/main/resources/Documentation/about.md[
51Documentation] |
52link:https://gerrit.googlesource.com/plugins/commit-message-length-validator/+doc/master/src/main/resources/Documentation/config.md[
53Configuration]
54
55=== cookbook-plugin
56
57Sample plugin to demonstrate features of Gerrit's plugin API.
58
59link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/cookbook-plugin[
60Project] |
61link:https://gerrit.googlesource.com/plugins/cookbook-plugin/+doc/master/src/main/resources/Documentation/about.md[
62Documentation]
63
64=== download-commands
65
66This plugin defines commands for downloading changes in different
67download schemes (for downloading via different network protocols).
68
69link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/download-commands[
70Project] |
71link:https://gerrit.googlesource.com/plugins/download-commands/+doc/master/src/main/resources/Documentation/about.md[
72Documentation] |
73link:https://gerrit.googlesource.com/plugins/download-commands/+doc/master/src/main/resources/Documentation/config.md[
74Configuration]
75
76=== replication
77
78This plugin can automatically push any changes Gerrit Code Review makes
79to its managed Git repositories to another system. Usually this would
80be configured to provide mirroring of changes, for warm-standby
81backups, or a load-balanced public mirror farm.
82
83link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/replication[
84Project] |
85link:https://gerrit.googlesource.com/plugins/replication/+doc/master/src/main/resources/Documentation/about.md[
86Documentation] |
87link:https://gerrit.googlesource.com/plugins/replication/+doc/master/src/main/resources/Documentation/config.md[
88Configuration]
89
90=== reviewnotes
91
92Stores review information for Gerrit changes in the `refs/notes/review`
93branch.
94
95link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/reviewnotes[
96Project] |
97link:https://gerrit.googlesource.com/plugins/reviewnotes/+doc/master/src/main/resources/Documentation/about.md[
98Documentation]
99
100=== singleusergroup
101
102This plugin provides a group per user. This is useful to assign access
103rights directly to a single user, since in Gerrit access rights can
104only be assigned to groups.
105
106[[other-plugins]]
107== Other Plugins
108
109Besides core plugins there are many other Gerrit plugins available.
110These plugins are developed and maintained by different parties.
111The Gerrit Project doesn't guarantee proper functionality of any of
112these plugins.
113
114The Gerrit Project doesn't provide binaries for these plugins, but
115there are some public services, like the
116link:https://ci.gerritforge.com/[CI Server from GerritForge], that
117offer the download of ready plugin jars.
118
119The following list gives an overview about available plugins, but the
120list may not be complete. You may discover more plugins on
121link:https://gerrit-review.googlesource.com/#/admin/projects/?filter=plugins%252F[
122gerrit-review].
123
124=== admin-console
125
126Plugin to provide administrator-only functionality, intended to
127simplify common administrative tasks. Currently providing user-level
128information. Also providing access control information by project or
129project/account.
130
131link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/admin-console[
132Project] |
133link:https://gerrit.googlesource.com/plugins/admin-console/+doc/master/src/main/resources/Documentation/about.md[
134Documentation]
135
136=== avatars/external
137
138This plugin allows to use an external url to load the avatar images
139from.
140
141link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/avatars/external[
142Project] |
143link:https://gerrit.googlesource.com/plugins/avatars/external/+doc/master/src/main/resources/Documentation/about.md[
144Documentation] |
145link:https://gerrit.googlesource.com/plugins/avatars/external/+doc/master/src/main/resources/Documentation/config.md[
146Configuration]
147
148=== avatars/gravatar
149
150Plugin to display user icons from Gravatar.
151
152link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/avatars/gravatar[
153Project]
154
155=== branch-network
156
157This plugin allows the rendering of Git repository branch network in a
158graphical HTML5 Canvas. It is mainly intended to be used as a
159"project link" in a GitWeb configuration or by other Gerrit GWT UI
160plugins to be plugged elsewhere in Gerrit.
161
162link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/branch-network[
163Project] |
164link:https://gerrit.googlesource.com/plugins/branch-network/+doc/master/src/main/resources/Documentation/about.md[
165Documentation] |
166link:https://gerrit.googlesource.com/plugins/branch-network/+doc/master/src/main/resources/Documentation/config.md[
167Configuration]
168
169=== changemessage
170
171This plugin allows to display a static info message on the change screen.
172
173link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/changemessage[
174Project] |
175link:https://gerrit.googlesource.com/plugins/changemessage/+doc/master/src/main/resources/Documentation/about.md[
176Plugin Documenatation] |
177link:https://gerrit.googlesource.com/plugins/changemessage/+doc/master/src/main/resources/Documentation/config.md[
178Configuration]
179
180=== codenvy
181
182Plugin to allow to edit code on-line on either an existing branch or an
183active change using the link:http://codenvy.com[Codenvy] cloud
184development platform.
185
186link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/codenvy[
187Project]
188
189=== delete-project
190
191Provides the ability to delete a project.
192
193link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/delete-project[
194Project] |
195link:https://gerrit.googlesource.com/plugins/delete-project/+doc/master/src/main/resources/Documentation/about.md[
196Documentation]
197
198=== egit
199
200This plugin provides extensions for easier usage with EGit.
201
202The plugin adds a download command for EGit that allows to copy only
203the change ref into the clipboard. The change ref is needed for
204downloading a Gerrit change from within EGit.
205
206link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/egit[
207Project] |
208link:https://gerrit.googlesource.com/plugins/egit/+doc/master/src/main/resources/Documentation/about.md[
209Documentation]
210
211=== force-draft
212
213Provides an ssh command to force a change or patch set to draft status.
214This is useful for administrators to be able to easily completely
215delete a change or patch set from the server.
216
217link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/force-draft[
218Project]
219
220=== gitblit
221
222GitBlit code-viewer plugin with SSO and Security Access Control.
223
224link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/gitblit[
225Project]
226
227=== github
228
229Plugin to integrate with GitHub: replication, pull-request to Change-Sets
230
231link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/github[
232Project]
233
234=== gitiles
235
236Plugin running Gitiles alongside a Gerrit server.
237
238link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/gitiles[
239Project]
240
241=== imagare
242
243The imagare plugin allows Gerrit users to upload and share images.
244
245link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/imagare[
246Project] |
247link:https://gerrit.googlesource.com/plugins/imagare/+doc/master/src/main/resources/Documentation/about.md[
248Documentation] |
249link:https://gerrit.googlesource.com/plugins/imagare/+doc/master/src/main/resources/Documentation/config.md[
250Configuration]
251
252=== Issue Tracker System Plugins
253
254Plugins to integrate with issue tracker systems (ITS), that (based
255on events in Gerrit) allows to take actions in the ITS. For example,
256they can add comments to bugs, or change status of bugs.
257
258All its-plugins have a common base implementation which is stored in
259the `its-base` project. `its-base` is not a plugin, but just a
260framework for the ITS plugins which is packaged within each ITS plugin.
261
262link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-base[
263its-base Project] |
264link:https://gerrit.googlesource.com/plugins/its-base/+doc/master/src/main/resources/Documentation/about.md[
265its-base Documentation] |
266link:https://gerrit.googlesource.com/plugins/its-base/+doc/master/src/main/resources/Documentation/config.md[
267its-base Configuration]
268
269==== its-bugzilla
270
271Plugin to integrate with Bugzilla.
272
273link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-bugzilla[
274Project] |
275link:https://gerrit.googlesource.com/plugins/its-bugzilla/+doc/master/src/main/resources/Documentation/about.md[
276Documentation]
277
278==== its-jira
279
280Plugin to integrate with Jira.
281
282link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-jira[
283Project] |
284link:https://gerrit.googlesource.com/plugins/its-jira/+doc/master/src/main/resources/Documentation/config.md[
285Configuration]
286
287==== its-rtc
288
289Plugin to integrate with IBM Rational Team Concert (RTC).
290
291link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-rtc[
292Project] |
293link:https://gerrit.googlesource.com/plugins/its-rtc/+doc/master/src/main/resources/Documentation/config.md[
294Configuration]
295
296=== javamelody
297
298This plugin allows to monitor the Gerrit server.
299
300This plugin integrates JavaMelody in Gerrit in order to retrieve live
301instrumentation data from Gerrit.
302
303link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/javamelody[
304Project] |
305link:https://gerrit.googlesource.com/plugins/javamelody/+doc/master/src/main/resources/Documentation/about.md[
306Documentation] |
307https://gerrit.googlesource.com/plugins/javamelody/+doc/master/src/main/resources/Documentation/config.md[
308Configuration]
309
310=== menuextender
311
312The menuextender plugin allows Gerrit administrators to configure
313additional menu entries from the WebUI.
314
315link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/menuextender[
316Project] |
317link:https://gerrit.googlesource.com/plugins/menuextender/+doc/master/src/main/resources/Documentation/about.md[
318Documentation] |
319link:https://gerrit.googlesource.com/plugins/menuextender/+doc/master/src/main/resources/Documentation/config.md[
320Configuration]
321
322=== motd
323
324This plugin can output messages to clients when pulling/fetching/cloning
325code from Gerrit Code Review. If the client (and transport mechanism)
326can support sending the message to the client, it will be displayed to
327the user (usually prefixed by “remote: ”), but will be silently
328discarded otherwise.
329
330link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/motd[
331Project] |
332link:https://gerrit.googlesource.com/plugins/motd/+doc/master/src/main/resources/Documentation/about.md[
333Documentation] |
334link:https://gerrit.googlesource.com/plugins/motd/+doc/master/src/main/resources/Documentation/config.md[
335Configuration]
336
337=== project-download-commands
338
339This plugin adds support for project specific download commands.
340
341Project specific download commands that are defined on a parent project
342are inherited by the child projects. Child projects can overwrite the
343inherited download command or remove it by assigning no value to it.
344
345link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/project-download-commands[
346Project] |
347link:https://gerrit.googlesource.com/plugins/project-download-commands/+doc/master/src/main/resources/Documentation/about.md[
348Documentation] |
349link:https://gerrit.googlesource.com/plugins/project-download-commands/+doc/master/src/main/resources/Documentation/config.md[
350Configuration]
351
352=== quota
353
354This plugin allows to enforce quotas in Gerrit.
355
356To protect a Gerrit installation it makes sense to limit the resources
357that a project or group can consume. To do this a Gerrit administrator
358can use this plugin to define quotas on project namespaces.
359
360link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/quota[
361Project] |
362link:https://gerrit.googlesource.com/plugins/quota/+doc/master/src/main/resources/Documentation/about.md[
363Documentation]
364link:https://gerrit.googlesource.com/plugins/quota/+doc/master/src/main/resources/Documentation/config.md[
365Configuration]
366
367=== reviewers
368
369A plugin that allows adding default reviewers to a change.
370
371link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/reviewers[
372Project] |
373link:https://gerrit.googlesource.com/plugins/reviewers/+doc/master/src/main/resources/Documentation/about.md[
374Documentation] |
375link:https://gerrit.googlesource.com/plugins/reviewers/+doc/master/src/main/resources/Documentation/config.md[
376Configuration]
377
378=== reviewers-by-blame
379
380A plugin that allows automatically adding reviewers to a change from
381the git blame computation on the changed files. It will add the users
382that authored most of the lines touched by the change, since these
383users should be familiar with the code and can mostly review the
384change.
385
386link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/reviewers-by-blame[
387Project] |
388link:https://gerrit.googlesource.com/plugins/reviewers-by-blame/+doc/master/src/main/resources/Documentation/about.md[
389Documentation] |
390link:https://gerrit.googlesource.com/plugins/reviewers-by-blame/+doc/master/src/main/resources/Documentation/config.md[
391Configuration]
392
393=== scripting/groovy-provider
394
395This plugin provides a Groovy runtime environment for Gerrit plugins in Groovy.
396
397link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/groovy-provider[
398Project] |
399link:https://gerrit.googlesource.com/plugins/scripting/groovy-provider/+doc/master/src/main/resources/Documentation/about.md[
400Documentation]
401
402=== scripting/scala-provider
403
404This plugin provides a Scala runtime environment for Gerrit plugins in Scala.
405
406link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/scala-provider[
407Project] |
408link:https://gerrit.googlesource.com/plugins/scripting/scala-provider/+doc/master/src/main/resources/Documentation/about.md[
409Documentation]
410
411=== server-config
412
413This plugin enables access (download and upload) to the server config
414files. It may be used to change Gerrit config files (like
415`etc/gerrit.config`) in cases where direct access to the file system
416where Gerrit's config files are stored is difficult or impossible to
417get.
418
419link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/server-config[
420Project]
421
422=== serviceuser
423
424This plugin allows to create service users in Gerrit.
425
426A service user is a user that is used by another service to communicate
427with Gerrit. E.g. a service user is needed to run the Gerrit Trigger
428Plugin in Jenkins. A service user is not able to login into the Gerrit
429WebUI and it cannot push commits or tags.
430
431link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/serviceuser[
432Project] |
433link:https://gerrit.googlesource.com/plugins/serviceuser/+doc/master/src/main/resources/Documentation/about.md[
434Documentation] |
435link:https://gerrit.googlesource.com/plugins/serviceuser/+doc/master/src/main/resources/Documentation/config.md[
436Configuration]
437
438=== uploadvalidator
439
440This plugin allows to configure upload validations per project.
441
442Project owners can configure blocked file extensions, required footers
443and a maximum allowed path length. Pushes of commits that violate these
444settings are rejected by Gerrit.
445
446link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/uploadvalidator[
447Project] |
448link:https://gerrit.googlesource.com/plugins/uploadvalidator/+doc/master/src/main/resources/Documentation/about.md[
449Documentation] |
450link:https://gerrit.googlesource.com/plugins/uploadvalidator/+doc/master/src/main/resources/Documentation/config.md[
451Configuration]
452
453=== websession-flatfile
454
455This plugin replaces the built-in Gerrit H2 based websession cache with
456a flatfile based implementation. This implemantation is shareable
457amongst multiple Gerrit servers, making it useful for multi-master
458Gerrit installations.
459
460link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/websession-flatfile[
461Project] |
462link:https://gerrit.googlesource.com/plugins/websession-flatfile/+doc/master/src/main/resources/Documentation/about.md[
463Documentation] |
464link:https://gerrit.googlesource.com/plugins/websession-flatfile/+doc/master/src/main/resources/Documentation/config.md[
465Configuration]
466
467=== wip
468
469This plugin adds a new button that allows a change owner to set a
470change to Work In Progress, and a button to change from WIP back to a
471"Ready For Review" state.
472
473Any change in the WIP state will not show up in anyone's Review
474Requests. Pushing a new patchset will reset the change to Review In
475Progress.
476
477link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/wip[
478Project] |
479link:https://gerrit.googlesource.com/plugins/wip/+doc/master/src/main/resources/Documentation/about.md[
480Documentation] |
481link:https://gerrit.googlesource.com/plugins/wip/+doc/master/src/main/resources/Documentation/config.md[
482Configuration]
483
484=== x-docs
485
486This plugin serves project documentation as HTML pages.
487
488link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/x-docs[
489Project] |
490link:https://gerrit.googlesource.com/plugins/x-docs/+doc/master/src/main/resources/Documentation/about.md[
491Documentation] |
492link:https://gerrit.googlesource.com/plugins/x-docs/+doc/master/src/main/resources/Documentation/config.md[
493Configuration]
494
495
496GERRIT
497------
498Part of link:index.html[Gerrit Code Review]
499
500SEARCHBOX
501---------