This page describes the plugin related REST endpoints. Please also take note of the general information on the REST API.
Plugin Endpoints
Gerrit REST endpoints for installed plugins are available under
'/plugins/{plugin-id}/gerrit~<endpoint-id>'.
The gerrit~
prefix ensures that the Gerrit REST endpoints for plugins
do not clash with any REST endpoint that a plugin may offer under its
namespace.
List Plugins
'GET /plugins/'
Lists the plugins installed on the Gerrit server. Only the enabled
plugins are returned unless the all
option is specified.
To be allowed to see the installed plugins, a user must be a member of a group that is granted the 'View Plugins' capability or the 'Administrate Server' capability.
As result a map is returned that maps the plugin IDs to PluginInfo entries. The entries in the map are sorted by plugin ID.
GET /plugins/?all HTTP/1.0
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "delete-project": { "id": "delete-project", "index_url": "plugins/delete-project/", "version": "2.9-SNAPSHOT" }, "reviewers-by-blame": { "id": "reviewers-by-blame", "index_url": "plugins/reviewers-by-blame/", "version": "2.9-SNAPSHOT", "disabled": true } }
Install Plugin
'PUT /plugins/{plugin-id}'
Installs a new plugin on the Gerrit server. If a plugin with the specified name already exists it is overwritten. Note: if the plugin provides its own name in the MANIFEST file, then the plugin name from the MANIFEST file has precedence over the {plugin-id} above.
The plugin jar can either be sent as binary data in the request body or a URL to the plugin jar must be provided in the request body inside a PluginInput entity.
PUT /plugins/delete-project HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "url": "file:///gerrit/plugins/delete-project/delete-project-2.8.jar" }
To provide the plugin jar as binary data in the request body the following curl command can be used:
curl --digest --user admin:TNNuLkWsIV8w -X PUT --data-binary @delete-project-2.8.jar 'http://gerrit:8080/a/plugins/delete-project'
As response a PluginInfo entity is returned that describes the plugin.
HTTP/1.1 201 Created Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "id": "delete-project", "version": "2.8" }
If an existing plugin was overwritten the response is “200 OK”.
Get Plugin Status
'GET /plugins/{plugin-id}/gerrit~status'
Retrieves the status of a plugin on the Gerrit server.
GET /plugins/delete-project/gerrit~status HTTP/1.0
As response a PluginInfo entity is returned that describes the plugin.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "id": "delete-project", "version": "2.8" }
Enable Plugin
'POST /plugins/{plugin-id}/gerrit~enable'
Enables a plugin on the Gerrit server.
POST /plugins/delete-project/gerrit~enable HTTP/1.0
As response a PluginInfo entity is returned that describes the plugin.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "id": "delete-project", "version": "2.8" }
Disable Plugin
'POST /plugins/{plugin-id}/gerrit~disable'
OR
'DELETE /plugins/{plugin-id}'
Disables a plugin on the Gerrit server.
POST /plugins/delete-project/gerrit~disable HTTP/1.0
As response a PluginInfo entity is returned that describes the plugin.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "id": "delete-project", "version": "2.8", "disabled": true }
Reload Plugin
'POST /plugins/{plugin-id}/gerrit~reload'
Reloads a plugin on the Gerrit server.
POST /plugins/delete-project/gerrit~reload HTTP/1.0
As response a PluginInfo entity is returned that describes the plugin.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "id": "delete-project", "version": "2.8", "disabled": true }
IDs
{plugin-id}
The ID of the plugin.
JSON Entities
PluginInfo
The PluginInfo
entity describes a plugin.
Field Name | Description | |
---|---|---|
|
The ID of the plugin. |
|
|
The version of the plugin. |
|
|
optional |
URL of the plugin’s default page. |
|
not set if |
Whether the plugin is disabled. |
PluginInput
The PluginInput
entity describes a plugin that should be installed.
Field Name | Description |
---|---|
|
URL to the plugin jar. |
Part of Gerrit Code Review