The default is set by gerrit.defaultBranch in gerrit.config. The default only applies if no branches were specified in the input. Otherwise, the behavior remains the same: 'HEAD' is set to the first branch in the input list or 'refs/meta/config' for permissionsOnly projects. Change-Id: I776c0e52a5f55278e58cc02aeac71cf93abc4ffc
		
			
				
	
	
		
			4379 lines
		
	
	
		
			118 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			4379 lines
		
	
	
		
			118 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
:linkattrs:
 | 
						|
= Gerrit Code Review - /projects/ REST API
 | 
						|
 | 
						|
This page describes the project related REST endpoints.
 | 
						|
Please also take note of the general information on the
 | 
						|
link:rest-api.html[REST API].
 | 
						|
 | 
						|
[[project-endpoints]]
 | 
						|
== Project Endpoints
 | 
						|
 | 
						|
[[list-projects]]
 | 
						|
=== List Projects
 | 
						|
--
 | 
						|
'GET /projects/'
 | 
						|
--
 | 
						|
 | 
						|
Lists the projects accessible by the caller. This is the same as
 | 
						|
using the link:cmd-ls-projects.html[ls-projects] command over SSH,
 | 
						|
and accepts the same options as query parameters.
 | 
						|
 | 
						|
As result a map is returned that maps the project names to
 | 
						|
link:#project-info[ProjectInfo] entries. The entries in the map are sorted
 | 
						|
by project name.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/?d HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "external/bison": {
 | 
						|
      "id": "external%2Fbison",
 | 
						|
      "description": "GNU parser generator"
 | 
						|
    },
 | 
						|
    "external/gcc": {
 | 
						|
      "id": "external%2Fgcc"
 | 
						|
    },
 | 
						|
    "external/openssl": {
 | 
						|
      "id": "external%2Fopenssl",
 | 
						|
      "description": "encryption\ncrypto routines"
 | 
						|
    },
 | 
						|
    "test": {
 | 
						|
      "id": "test",
 | 
						|
      "description": "\u003chtml\u003e is escaped"
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[project-options]]
 | 
						|
==== Project Options
 | 
						|
 | 
						|
Branch(b)::
 | 
						|
Limit the results to the projects having the specified branch and
 | 
						|
include the sha1 of the branch in the results.
 | 
						|
+
 | 
						|
Get projects that have a 'master' branch:
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
GET /projects/?b=master HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "some-project": {
 | 
						|
      "id": "some-project",
 | 
						|
      "branches": {
 | 
						|
        "master": "c5ed9dfcbf002ca0e432d788dab6ca2387829ca7"
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "some-other-project": {
 | 
						|
      "id": "some-other-project",
 | 
						|
      "branches": {
 | 
						|
        "master": "ef1c270142f9581ecf768f4193fc8f8a81102ec2"
 | 
						|
      }
 | 
						|
    },
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
Description(d)::
 | 
						|
Include project description in the results.
 | 
						|
+
 | 
						|
Get all the projects with their description:
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
GET /projects/?d HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "some-project": {
 | 
						|
      "id": "some-project",
 | 
						|
      "description": "Description of some project."
 | 
						|
    },
 | 
						|
    "some-other-project": {
 | 
						|
      "id": "some-other-project",
 | 
						|
       "description": "Description of some other project."
 | 
						|
      }
 | 
						|
    },
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
Limit(n)::
 | 
						|
Limit the number of projects to be included in the results.
 | 
						|
+
 | 
						|
Query the first project in the project list:
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/?n=1 HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "some-project": {
 | 
						|
      "id": "some-project"
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
 | 
						|
[[suggest-projects]]
 | 
						|
Prefix(p)::
 | 
						|
Limit the results to those projects that start with the specified
 | 
						|
prefix.
 | 
						|
+
 | 
						|
The match is case sensitive. May not be used together with `m` or `r`.
 | 
						|
+
 | 
						|
List all projects that start with `platform/`:
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/?p=platform%2F HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "platform/drivers": {
 | 
						|
      "id": "platform%2Fdrivers"
 | 
						|
    },
 | 
						|
    "platform/tools": {
 | 
						|
      "id": "platform%2Ftools"
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
+
 | 
						|
E.g. this feature can be used by suggestion client UI's to limit results.
 | 
						|
 | 
						|
Regex(r)::
 | 
						|
Limit the results to those projects that match the specified regex.
 | 
						|
+
 | 
						|
Boundary matchers '^' and '$' are implicit. For example: the regex 'test.*' will
 | 
						|
match any projects that start with 'test' and regex '.*test' will match any
 | 
						|
project that end with 'test'.
 | 
						|
+
 | 
						|
The match is case sensitive. May not be used together with `m` or `p`.
 | 
						|
+
 | 
						|
List all projects that match regex `test.*project`:
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/?r=test.*project HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "test/some-project": {
 | 
						|
      "id": "test%2Fsome-project"
 | 
						|
    },
 | 
						|
    "test/some-other-project": {
 | 
						|
      "id": "test%2Fsome-other-project"
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
----
 | 
						|
 | 
						|
Skip(S)::
 | 
						|
Skip the given number of projects from the beginning of the list.
 | 
						|
+
 | 
						|
Query the second project in the project list:
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/?n=1&S=1 HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "some-other-project": {
 | 
						|
      "id": "some-other-project"
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
Substring(m)::
 | 
						|
Limit the results to those projects that match the specified substring.
 | 
						|
+
 | 
						|
The match is case insensitive. May not be used together with `r` or `p`.
 | 
						|
+
 | 
						|
List all projects that match substring `test/`:
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/?m=test%2F HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "test/some-project": {
 | 
						|
      "id": "test%2Fsome-project"
 | 
						|
    },
 | 
						|
    "some-path/test/some-other-project": {
 | 
						|
      "id": "some-path%2Ftest%2Fsome-other-project"
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
Tree(t)::
 | 
						|
Get projects inheritance in a tree-like format. This option does
 | 
						|
not work together with the branch option.
 | 
						|
+
 | 
						|
Get all the projects with tree option:
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
GET /projects/?t HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "All-Projects" {
 | 
						|
      "id": "All-Projects"
 | 
						|
    },
 | 
						|
    "child-project": {
 | 
						|
      "id": "child-project",
 | 
						|
      "parent": "parent-project"
 | 
						|
    },
 | 
						|
    "parent-project": {
 | 
						|
      "id": "parent-project",
 | 
						|
      "parent": "All-Projects"
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
Type(type)::
 | 
						|
Get projects with specified type: ALL, CODE, PERMISSIONS.
 | 
						|
+
 | 
						|
Get all the projects of type 'PERMISSIONS':
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
GET /projects/?type=PERMISSIONS HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "All-Projects" {
 | 
						|
      "id": "All-Projects"
 | 
						|
    },
 | 
						|
    "some-parent-project": {
 | 
						|
      "id": "some-parent-project"
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
All::
 | 
						|
Get all projects, including those whose state is "HIDDEN". May not be used
 | 
						|
together with the `state` option.
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
GET /projects/?all HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "All-Projects" {
 | 
						|
      "id": "All-Projects",
 | 
						|
      "state": "ACTIVE"
 | 
						|
    },
 | 
						|
    "some-other-project": {
 | 
						|
      "id": "some-other-project",
 | 
						|
      "state": "HIDDEN"
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
State(s)::
 | 
						|
Get all projects with the given state. May not be used together with the
 | 
						|
`all` option.
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
GET /projects/?state=HIDDEN HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "some-other-project": {
 | 
						|
      "id": "some-other-project",
 | 
						|
      "state": "HIDDEN"
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[query-projects]]
 | 
						|
=== Query Projects
 | 
						|
--
 | 
						|
'GET /projects/?query=<query>'
 | 
						|
--
 | 
						|
 | 
						|
Queries projects visible to the caller. The
 | 
						|
link:user-search-projects.html#_search_operators[query string] must be
 | 
						|
provided by the `query` parameter. The `start` and `limit` parameters
 | 
						|
can be used to skip/limit results.
 | 
						|
 | 
						|
As result a list of link:#project-info[ProjectInfo] entities is returned.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/?query=name:test HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "test": {
 | 
						|
      "id": "test",
 | 
						|
      "description": "\u003chtml\u003e is escaped"
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[project-query-limit]]
 | 
						|
==== Project Limit
 | 
						|
The `/projects/?query=<query>` URL also accepts a limit integer in the
 | 
						|
`limit` parameter. This limits the results to `limit` projects.
 | 
						|
 | 
						|
Query the first 25 projects in project list.
 | 
						|
----
 | 
						|
  GET /projects/?query=<query>&limit=25 HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
The `/projects/` URL also accepts a start integer in the `start`
 | 
						|
parameter. The results will skip `start` groups from project list.
 | 
						|
 | 
						|
Query 25 projects starting from index 50.
 | 
						|
----
 | 
						|
  GET /groups/?query=<query>&limit=25&start=50 HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
[[project-query-options]]
 | 
						|
==== Project Options
 | 
						|
Additional fields can be obtained by adding `o` parameters. Each option
 | 
						|
requires more lookups and slows down the query response time to the
 | 
						|
client so they are generally disabled by default. The supported fields
 | 
						|
are described in the context of the link:#project-options[List Projects]
 | 
						|
REST endpoint.
 | 
						|
 | 
						|
[[get-project]]
 | 
						|
=== Get Project
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]'
 | 
						|
--
 | 
						|
 | 
						|
Retrieves a project.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/plugins%2Freplication HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
As response a link:#project-info[ProjectInfo] entity is returned that
 | 
						|
describes the project.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "id": "plugins%2Freplication",
 | 
						|
    "name": "plugins/replication",
 | 
						|
    "parent": "Public-Plugins",
 | 
						|
    "description": "Copies to other servers using the Git protocol",
 | 
						|
    "state": "ACTIVE",
 | 
						|
    "labels": {
 | 
						|
      "Code-Review": {
 | 
						|
        "values": {
 | 
						|
          " 0": "No score",
 | 
						|
          "+1": "Approved"
 | 
						|
        },
 | 
						|
        "default_value": 0
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[create-project]]
 | 
						|
=== Create Project
 | 
						|
--
 | 
						|
'PUT /projects/link:#project-name[\{project-name\}]'
 | 
						|
--
 | 
						|
 | 
						|
Creates a new project.
 | 
						|
 | 
						|
In the request body additional data for the project can be provided as
 | 
						|
link:#project-input[ProjectInput].
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/MyProject HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "description": "This is a demo project.",
 | 
						|
    "submit_type": "INHERIT",
 | 
						|
    "owners": [
 | 
						|
      "MyProject-Owners"
 | 
						|
    ]
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response the link:#project-info[ProjectInfo] entity is returned that
 | 
						|
describes the created project.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 201 Created
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "id": "MyProject",
 | 
						|
    "name": "MyProject",
 | 
						|
    "parent": "All-Projects",
 | 
						|
    "description": "This is a demo project.",
 | 
						|
    "labels": {
 | 
						|
      "Code-Review": {
 | 
						|
        "values": {
 | 
						|
          " 0": "No score",
 | 
						|
          "+1": "Approved"
 | 
						|
        },
 | 
						|
        "default_value": 0
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[get-project-description]]
 | 
						|
=== Get Project Description
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/description'
 | 
						|
--
 | 
						|
 | 
						|
Retrieves the description of a project.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/plugins%2Freplication/description HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  "Copies to other servers using the Git protocol"
 | 
						|
----
 | 
						|
 | 
						|
If the project does not have a description an empty string is returned.
 | 
						|
 | 
						|
[[set-project-description]]
 | 
						|
=== Set Project Description
 | 
						|
--
 | 
						|
'PUT /projects/link:#project-name[\{project-name\}]/description'
 | 
						|
--
 | 
						|
 | 
						|
Sets the description of a project.
 | 
						|
 | 
						|
The new project description must be provided in the request body inside
 | 
						|
a link:#project-description-input[ProjectDescriptionInput] entity.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/plugins%2Freplication/description HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "description": "Plugin for Gerrit that handles the replication.",
 | 
						|
    "commit_message": "Update the project description"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response the new project description is returned.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  "Plugin for Gerrit that handles the replication."
 | 
						|
----
 | 
						|
 | 
						|
If the description was deleted the response is "`204 No Content`".
 | 
						|
 | 
						|
[[delete-project-description]]
 | 
						|
=== Delete Project Description
 | 
						|
--
 | 
						|
'DELETE /projects/link:#project-name[\{project-name\}]/description'
 | 
						|
--
 | 
						|
 | 
						|
Deletes the description of a project.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  DELETE /projects/plugins%2Freplication/description HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 204 No Content
 | 
						|
----
 | 
						|
 | 
						|
A commit message can be provided in the request body as a
 | 
						|
link:#project-description-input[ProjectDescriptionInput] entity.
 | 
						|
Historically, this method allowed a body in the DELETE, but that behavior is
 | 
						|
link:https://www.gerritcodereview.com/releases/2.16.md[deprecated,role=external,window=_blank].
 | 
						|
In this case, use link:#set-project-description[PUT] instead.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/plugins%2Freplication/description HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "commit_message": "Update the project description"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 204 No Content
 | 
						|
----
 | 
						|
 | 
						|
[[get-project-parent]]
 | 
						|
=== Get Project Parent
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/parent'
 | 
						|
--
 | 
						|
 | 
						|
Retrieves the name of a project's parent project. For the
 | 
						|
`All-Projects` root project an empty string is returned.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/plugins%2Freplication/parent HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  "All-Projects"
 | 
						|
----
 | 
						|
 | 
						|
[[set-project-parent]]
 | 
						|
=== Set Project Parent
 | 
						|
--
 | 
						|
'PUT /projects/link:#project-name[\{project-name\}]/parent'
 | 
						|
--
 | 
						|
 | 
						|
Sets the parent project for a project.
 | 
						|
 | 
						|
The new name of the parent project must be provided in the request body
 | 
						|
inside a link:#project-parent-input[ProjectParentInput] entity.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/plugins%2Freplication/parent HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "parent": "Public-Plugins",
 | 
						|
    "commit_message": "Update the project parent"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response the new parent project name is returned.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  "Public-Plugins"
 | 
						|
----
 | 
						|
 | 
						|
[[get-head]]
 | 
						|
=== Get HEAD
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/HEAD'
 | 
						|
--
 | 
						|
 | 
						|
Retrieves for a project the name of the branch to which `HEAD` points.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/plugins%2Freplication/HEAD HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  "refs/heads/master"
 | 
						|
----
 | 
						|
 | 
						|
[[set-head]]
 | 
						|
=== Set HEAD
 | 
						|
--
 | 
						|
'PUT /projects/link:#project-name[\{project-name\}]/HEAD'
 | 
						|
--
 | 
						|
 | 
						|
Sets `HEAD` for a project.
 | 
						|
 | 
						|
The new ref to which `HEAD` should point must be provided in the
 | 
						|
request body inside a link:#head-input[HeadInput] entity.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/plugins%2Freplication/HEAD HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "ref": "refs/heads/stable"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response the new ref to which `HEAD` points is returned.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  "refs/heads/stable"
 | 
						|
----
 | 
						|
 | 
						|
[[get-repository-statistics]]
 | 
						|
=== Get Repository Statistics
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/statistics.git'
 | 
						|
--
 | 
						|
 | 
						|
Return statistics for the repository of a project.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/plugins%2Freplication/statistics.git HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
The repository statistics are returned as a
 | 
						|
link:#repository-statistics-info[RepositoryStatisticsInfo] entity.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "number_of_loose_objects": 127,
 | 
						|
    "number_of_loose_refs": 15,
 | 
						|
    "number_of_pack_files": 15,
 | 
						|
    "number_of_packed_objects": 67,
 | 
						|
    "number_of_packed_refs": 0,
 | 
						|
    "size_of_loose_objects": 29466,
 | 
						|
    "size_of_packed_objects": 9646
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[get-config]]
 | 
						|
=== Get Config
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/config'
 | 
						|
--
 | 
						|
 | 
						|
Gets some configuration information about a project. Note that this
 | 
						|
config info is not simply the contents of `project.config`; it generally
 | 
						|
contains fields that may have been inherited from parent projects.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/myproject/config
 | 
						|
----
 | 
						|
 | 
						|
A link:#config-info[ConfigInfo] entity is returned that describes the
 | 
						|
project configuration. Some fields are only visible to users that have
 | 
						|
read access to `refs/meta/config`.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "description": "demo project",
 | 
						|
    "use_contributor_agreements": {
 | 
						|
      "value": true,
 | 
						|
      "configured_value": "TRUE",
 | 
						|
      "inherited_value": false
 | 
						|
    },
 | 
						|
    "use_content_merge": {
 | 
						|
      "value": true,
 | 
						|
      "configured_value": "INHERIT",
 | 
						|
      "inherited_value": true
 | 
						|
    },
 | 
						|
    "use_signed_off_by": {
 | 
						|
      "value": false,
 | 
						|
      "configured_value": "INHERIT",
 | 
						|
      "inherited_value": false
 | 
						|
    },
 | 
						|
    "create_new_change_for_all_not_in_target": {
 | 
						|
      "value": false,
 | 
						|
      "configured_value": "INHERIT",
 | 
						|
      "inherited_value": false
 | 
						|
    },
 | 
						|
    "require_change_id": {
 | 
						|
      "value": false,
 | 
						|
      "configured_value": "FALSE",
 | 
						|
      "inherited_value": true
 | 
						|
    },
 | 
						|
    "max_object_size_limit": {
 | 
						|
      "value": "15m",
 | 
						|
      "configured_value": "15m",
 | 
						|
      "inherited_value": "20m"
 | 
						|
    },
 | 
						|
    "submit_type": "INHERIT",
 | 
						|
    "default_submit_type": {
 | 
						|
      "value": "MERGE_IF_NECESSARY",
 | 
						|
      "configured_value": "INHERIT",
 | 
						|
      "inherited_value": "MERGE_IF_NECESSARY"
 | 
						|
    },
 | 
						|
    "state": "ACTIVE",
 | 
						|
    "commentlinks": {},
 | 
						|
    "plugin_config": {
 | 
						|
      "helloworld": {
 | 
						|
        "language": {
 | 
						|
          "display_name": "Preferred Language",
 | 
						|
          "type": "STRING",
 | 
						|
          "value": "en"
 | 
						|
        }
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "actions": {
 | 
						|
      "cookbook~hello-project": {
 | 
						|
        "method": "POST",
 | 
						|
        "label": "Say hello",
 | 
						|
        "title": "Say hello in different languages",
 | 
						|
        "enabled": true
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[set-config]]
 | 
						|
=== Set Config
 | 
						|
--
 | 
						|
'PUT /projects/link:#project-name[\{project-name\}]/config'
 | 
						|
--
 | 
						|
 | 
						|
Sets the configuration of a project.
 | 
						|
 | 
						|
The new configuration must be provided in the request body as a
 | 
						|
link:#config-input[ConfigInput] entity.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/myproject/config HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "description": "demo project",
 | 
						|
    "use_contributor_agreements": "FALSE",
 | 
						|
    "use_content_merge": "INHERIT",
 | 
						|
    "use_signed_off_by": "INHERIT",
 | 
						|
    "create_new_change_for_all_not_in_target": "INHERIT",
 | 
						|
    "enable_signed_push": "INHERIT",
 | 
						|
    "require_signed_push": "INHERIT",
 | 
						|
    "reject_implicit_merges": "INHERIT",
 | 
						|
    "require_change_id": "TRUE",
 | 
						|
    "max_object_size_limit": "10m",
 | 
						|
    "submit_type": "REBASE_IF_NECESSARY",
 | 
						|
    "state": "ACTIVE"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response the new configuration is returned as a link:#config-info[
 | 
						|
ConfigInfo] entity.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "use_contributor_agreements": {
 | 
						|
      "value": false,
 | 
						|
      "configured_value": "FALSE",
 | 
						|
      "inherited_value": false
 | 
						|
    },
 | 
						|
    "use_content_merge": {
 | 
						|
      "value": true,
 | 
						|
      "configured_value": "INHERIT",
 | 
						|
      "inherited_value": true
 | 
						|
    },
 | 
						|
    "use_signed_off_by": {
 | 
						|
      "value": false,
 | 
						|
      "configured_value": "INHERIT",
 | 
						|
      "inherited_value": false
 | 
						|
    },
 | 
						|
    "create_new_change_for_all_not_in_target": {
 | 
						|
      "value": true,
 | 
						|
      "configured_value": "INHERIT",
 | 
						|
      "inherited_value": false
 | 
						|
    },
 | 
						|
    "require_change_id": {
 | 
						|
      "value": true,
 | 
						|
      "configured_value": "TRUE",
 | 
						|
      "inherited_value": true
 | 
						|
    },
 | 
						|
    "enable_signed_push": {
 | 
						|
      "value": true,
 | 
						|
      "configured_value": "INHERIT",
 | 
						|
      "inherited_value": false
 | 
						|
    },
 | 
						|
    "require_signed_push": {
 | 
						|
      "value": false,
 | 
						|
      "configured_value": "INHERIT",
 | 
						|
      "inherited_value": false
 | 
						|
    },
 | 
						|
    "reject_implicit_merges": {
 | 
						|
      "value": false,
 | 
						|
      "configured_value": "INHERIT",
 | 
						|
      "inherited_value": false
 | 
						|
    },
 | 
						|
    "max_object_size_limit": {
 | 
						|
      "value": "10m",
 | 
						|
      "configured_value": "10m",
 | 
						|
      "inherited_value": "20m"
 | 
						|
    },
 | 
						|
    "submit_type": "REBASE_IF_NECESSARY",
 | 
						|
    "default_submit_type": {
 | 
						|
      "value": "REBASE_IF_NECESSARY",
 | 
						|
      "configured_value": "INHERIT",
 | 
						|
      "inherited_value": "REBASE_IF_NECESSARY"
 | 
						|
    },
 | 
						|
    "state": "ACTIVE",
 | 
						|
    "commentlinks": {}
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[run-gc]]
 | 
						|
=== Run GC
 | 
						|
--
 | 
						|
'POST /projects/link:#project-name[\{project-name\}]/gc'
 | 
						|
--
 | 
						|
 | 
						|
Run the Git garbage collection for the repository of a project.
 | 
						|
 | 
						|
Options for the Git garbage collection can be specified in the
 | 
						|
request body as a link:#gc-input[GCInput] entity.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  POST /projects/plugins%2Freplication/gc HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "show_progress": true
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
The response is the streamed output of the garbage collection.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: text/plain; charset=UTF-8
 | 
						|
 | 
						|
  collecting garbage for "plugins/replication":
 | 
						|
  Pack refs:              100% (21/21)
 | 
						|
  Counting objects:       20
 | 
						|
  Finding sources:        100% (20/20)
 | 
						|
  Getting sizes:          100% (13/13)
 | 
						|
  Compressing objects:     83% (5/6)
 | 
						|
  Writing objects:        100% (20/20)
 | 
						|
  Selecting commits:      100% (7/7)
 | 
						|
  Building bitmaps:       100% (7/7)
 | 
						|
  Finding sources:        100% (41/41)
 | 
						|
  Getting sizes:          100% (25/25)
 | 
						|
  Compressing objects:     52% (12/23)
 | 
						|
  Writing objects:        100% (41/41)
 | 
						|
  Prune loose objects also found in pack files: 100% (36/36)
 | 
						|
  Prune loose, unreferenced objects: 100% (36/36)
 | 
						|
  done.
 | 
						|
----
 | 
						|
 | 
						|
==== Asynchronous Execution
 | 
						|
 | 
						|
The option `async` allows to schedule a background task that asynchronously
 | 
						|
executes a Git garbage collection.
 | 
						|
 | 
						|
The `Location` header of the response refers to the link:rest-api-config.html#get-task[background task]
 | 
						|
which allows to inspect the progress of its execution. In case of asynchronous
 | 
						|
execution the `show_progress` option is ignored.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  POST /projects/plugins%2Freplication/gc HTTP/1.0
 | 
						|
  Content-Type: application/json;charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "async": true
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
The response is empty.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 202 Accepted
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Location: https:<host>/a/config/server/tasks/383a0602
 | 
						|
----
 | 
						|
 | 
						|
[[ban-commit]]
 | 
						|
=== Ban Commit
 | 
						|
--
 | 
						|
'PUT /projects/link:#project-name[\{project-name\}]/ban'
 | 
						|
--
 | 
						|
 | 
						|
Marks commits as banned for the project. If a commit is banned Gerrit
 | 
						|
rejects every push that includes this commit with
 | 
						|
link:error-contains-banned-commit.html[contains banned commit ...].
 | 
						|
 | 
						|
[NOTE]
 | 
						|
This REST endpoint only marks the commits as banned, but it does not
 | 
						|
remove the commits from the history of any central branch. This needs
 | 
						|
to be done manually.
 | 
						|
 | 
						|
The commits to be banned must be specified in the request body as a
 | 
						|
link:#ban-input[BanInput] entity.
 | 
						|
 | 
						|
The caller must be project owner.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/plugins%2Freplication/ban HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "commits": [
 | 
						|
      "a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96",
 | 
						|
      "cf5b56541f84b8b57e16810b18daca9c3adc377b"
 | 
						|
    ],
 | 
						|
    "reason": "Violates IP"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response a link:#ban-result-info[BanResultInfo] entity is returned.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "newly_banned": [
 | 
						|
      "a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96",
 | 
						|
      "cf5b56541f84b8b57e16810b18daca9c3adc377b"
 | 
						|
    ]
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[get-access]]
 | 
						|
=== List Access Rights for Project
 | 
						|
--
 | 
						|
'GET /projects/link:rest-api-projects.html#project-name[\{project-name\}]/access'
 | 
						|
--
 | 
						|
 | 
						|
Lists the access rights for a single project.
 | 
						|
 | 
						|
As result a
 | 
						|
link:rest-api-access.html#project-access-info[ProjectAccessInfo]
 | 
						|
entity is returned.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/MyProject/access HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "revision": "61157ed63e14d261b6dca40650472a9b0bd88474",
 | 
						|
    "inherits_from": {
 | 
						|
      "id": "All-Projects",
 | 
						|
      "name": "All-Projects",
 | 
						|
      "description": "Access inherited by all other projects."
 | 
						|
    },
 | 
						|
    "local": {
 | 
						|
        "refs/*": {
 | 
						|
          "permissions": {
 | 
						|
            "read": {
 | 
						|
              "rules": {
 | 
						|
                "c2ce4749a32ceb82cd6adcce65b8216e12afb41c": {
 | 
						|
                  "action": "ALLOW",
 | 
						|
                  "force": false
 | 
						|
                },
 | 
						|
                "global:Anonymous-Users": {
 | 
						|
                  "action": "ALLOW",
 | 
						|
                  "force": false
 | 
						|
                }
 | 
						|
              }
 | 
						|
            }
 | 
						|
          }
 | 
						|
        }
 | 
						|
    },
 | 
						|
    "is_owner": true,
 | 
						|
    "owner_of": [
 | 
						|
      "refs/*"
 | 
						|
    ],
 | 
						|
    "can_upload": true,
 | 
						|
    "can_add": true,
 | 
						|
    "can_add_tags": true,
 | 
						|
    "config_visible": true,
 | 
						|
    "groups": {
 | 
						|
      "c2ce4749a32ceb82cd6adcce65b8216e12afb41c": {
 | 
						|
        "url": "#/admin/groups/uuid-c2ce4749a32ceb82cd6adcce65b8216e12afb41c",
 | 
						|
        "options": {},
 | 
						|
        "description": "Users who perform batch actions on Gerrit",
 | 
						|
        "group_id": 2,
 | 
						|
        "owner": "Administrators",
 | 
						|
        "owner_id": "d5b7124af4de52924ed397913e2c3b37bf186948",
 | 
						|
        "created_on": "2009-06-08 23:31:00.000000000",
 | 
						|
        "name": "Service Users"
 | 
						|
      },
 | 
						|
      "global:Anonymous-Users": {
 | 
						|
        "options": {},
 | 
						|
        "name": "Anonymous Users"
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[set-access]]
 | 
						|
=== Add, Update and Delete Access Rights for Project
 | 
						|
--
 | 
						|
'POST /projects/link:rest-api-projects.html#project-name[\{project-name\}]/access'
 | 
						|
--
 | 
						|
 | 
						|
Sets access rights for the project using the diff schema provided by
 | 
						|
link:#project-access-input[ProjectAccessInput]. Deductions are used to
 | 
						|
remove access sections, permissions or permission rules. The backend will remove
 | 
						|
the entity with the finest granularity in the request, meaning that if an
 | 
						|
access section without permissions is posted, the access section will be
 | 
						|
removed; if an access section with a permission but no permission rules is
 | 
						|
posted, the permission will be removed; if an access section with a permission
 | 
						|
and a permission rule is posted, the permission rule will be removed.
 | 
						|
 | 
						|
Additionally, access sections and permissions will be cleaned up after applying
 | 
						|
the deductions by removing items that have no child elements.
 | 
						|
 | 
						|
After removals have been applied, additions will be applied.
 | 
						|
 | 
						|
As result a
 | 
						|
link:rest-api-access.html#project-access-info[ProjectAccessInfo]
 | 
						|
entity is returned.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  POST /projects/MyProject/access HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "remove": {
 | 
						|
      "refs/*": {
 | 
						|
        "permissions": {
 | 
						|
          "read": {
 | 
						|
            "rules": {
 | 
						|
              "c2ce4749a32ceb82cd6adcce65b8216e12afb41c": {
 | 
						|
                "action": "ALLOW"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          }
 | 
						|
        }
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "revision": "61157ed63e14d261b6dca40650472a9b0bd88474",
 | 
						|
    "inherits_from": {
 | 
						|
      "id": "All-Projects",
 | 
						|
      "name": "All-Projects",
 | 
						|
      "description": "Access inherited by all other projects."
 | 
						|
    },
 | 
						|
    "local": {
 | 
						|
        "refs/*": {
 | 
						|
          "permissions": {
 | 
						|
            "read": {
 | 
						|
              "rules": {
 | 
						|
                "global:Anonymous-Users": {
 | 
						|
                  "action": "ALLOW",
 | 
						|
                  "force": false
 | 
						|
                }
 | 
						|
              }
 | 
						|
            }
 | 
						|
          }
 | 
						|
        }
 | 
						|
    },
 | 
						|
    "is_owner": true,
 | 
						|
    "owner_of": [
 | 
						|
      "refs/*"
 | 
						|
    ],
 | 
						|
    "can_upload": true,
 | 
						|
    "can_add": true,
 | 
						|
    "can_add_tags": true,
 | 
						|
    "config_visible": true,
 | 
						|
    "groups": {
 | 
						|
      "global:Anonymous-Users": {
 | 
						|
        "options": {},
 | 
						|
        "name": "Anonymous Users"
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[create-change]]
 | 
						|
=== Create Change for review.
 | 
						|
 | 
						|
This endpoint is functionally equivalent to
 | 
						|
link:rest-api-changes.html#create-change[create change in the change
 | 
						|
API], but it has the project name in the URL, which is easier to route
 | 
						|
in sharded deployments.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  POST /projects/myProject/create.change HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "subject" : "Let's support 100% Gerrit workflow direct in browser",
 | 
						|
    "branch" : "master",
 | 
						|
    "topic" : "create-change-in-browser",
 | 
						|
    "status" : "NEW"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response a link:#change-info[ChangeInfo] entity is returned that describes
 | 
						|
the resulting change.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 201 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9941",
 | 
						|
    "project": "myProject",
 | 
						|
    "branch": "master",
 | 
						|
    "topic": "create-change-in-browser",
 | 
						|
    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9941",
 | 
						|
    "subject": "Let's support 100% Gerrit workflow direct in browser",
 | 
						|
    "status": "NEW",
 | 
						|
    "created": "2014-05-05 07:15:44.639000000",
 | 
						|
    "updated": "2014-05-05 07:15:44.639000000",
 | 
						|
    "mergeable": true,
 | 
						|
    "insertions": 0,
 | 
						|
    "deletions": 0,
 | 
						|
    "_number": 4711,
 | 
						|
    "owner": {
 | 
						|
      "name": "John Doe"
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[create-access-change]]
 | 
						|
=== Create Access Rights Change for review.
 | 
						|
--
 | 
						|
'PUT /projects/link:rest-api-projects.html#project-name[\{project-name\}]/access:review
 | 
						|
--
 | 
						|
 | 
						|
Sets access rights for the project using the diff schema provided by
 | 
						|
link:#project-access-input[ProjectAccessInput]
 | 
						|
 | 
						|
This takes the same input as link:#set-access[Update Access Rights], but creates a pending
 | 
						|
change for review. Like link:#create-change[Create Change], it returns
 | 
						|
a link:#change-info[ChangeInfo] entity describing the resulting change.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/MyProject/access:review HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "add": {
 | 
						|
      "refs/heads/*": {
 | 
						|
        "permissions": {
 | 
						|
          "read": {
 | 
						|
            "rules": {
 | 
						|
              "global:Anonymous-Users": {
 | 
						|
                "action": "DENY",
 | 
						|
                "force": false
 | 
						|
              }
 | 
						|
            }
 | 
						|
          }
 | 
						|
        }
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "id": "testproj~refs%2Fmeta%2Fconfig~Ieaf185bf90a1fc3b58461e399385e158a20b31a2",
 | 
						|
    "project": "testproj",
 | 
						|
    "branch": "refs/meta/config",
 | 
						|
    "hashtags": [],
 | 
						|
    "change_id": "Ieaf185bf90a1fc3b58461e399385e158a20b31a2",
 | 
						|
    "subject": "Review access change",
 | 
						|
    "status": "NEW",
 | 
						|
    "created": "2017-09-07 14:31:11.852000000",
 | 
						|
    "updated": "2017-09-07 14:31:11.852000000",
 | 
						|
    "submit_type": "CHERRY_PICK",
 | 
						|
    "mergeable": true,
 | 
						|
    "insertions": 2,
 | 
						|
    "deletions": 0,
 | 
						|
    "unresolved_comment_count": 0,
 | 
						|
    "has_review_started": true,
 | 
						|
    "_number": 7,
 | 
						|
    "owner": {
 | 
						|
      "_account_id": 1000000
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[check-access]]
 | 
						|
=== Check Access
 | 
						|
--
 | 
						|
'GET /projects/MyProject/check.access?account=1000098&ref=refs%2Fheads%2Fsecret%2Fbla'
 | 
						|
--
 | 
						|
 | 
						|
This command runs access checks for other users. This requires the
 | 
						|
link:access-control.html#capability_viewAccess[View Access] global
 | 
						|
capability.
 | 
						|
 | 
						|
The result is a link:#access-check-info[AccessCheckInfo] entity
 | 
						|
detailing the access of the given user for the given project,
 | 
						|
project-ref, or project-permission-ref combination.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "message": "user Kristen Burns \u003cKristen.Burns@gerritcodereview.com\u003e (1000098) cannot see ref refs/heads/secret/bla in project MyProject",
 | 
						|
    "status": 403
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[check-access-options]]
 | 
						|
==== Check Access Options
 | 
						|
 | 
						|
Account(account)::
 | 
						|
The account for which to check access. Mandatory.
 | 
						|
 | 
						|
Permission(perm)::
 | 
						|
The ref permission for which to check access. If not specified, read
 | 
						|
access to at least branch is checked.
 | 
						|
 | 
						|
Ref(ref)::
 | 
						|
The branch for which to check access. This must be given if `perm` is specified.
 | 
						|
 | 
						|
[[index]]
 | 
						|
=== Index project
 | 
						|
 | 
						|
Adds or updates the current project (and children, if specified) in the secondary index.
 | 
						|
The indexing task is executed asynchronously in background and this command returns
 | 
						|
immediately if `async` is specified in the input.
 | 
						|
 | 
						|
As an input, a link:#index-project-input[IndexProjectInput] entity can be provided.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  POST /projects/MyProject/index HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "index_children": "true"
 | 
						|
    "async": "true"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 202 Accepted
 | 
						|
  Content-Disposition: attachment
 | 
						|
----
 | 
						|
 | 
						|
[[index.changes]]
 | 
						|
=== Index all changes in a project
 | 
						|
 | 
						|
Adds or updates all the changes belonging to a project in the secondary index.
 | 
						|
The indexing task is executed asynchronously in background, so this command
 | 
						|
returns immediately.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  POST /projects/MyProject/index.changes HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 202 Accepted
 | 
						|
  Content-Disposition: attachment
 | 
						|
----
 | 
						|
 | 
						|
[[check]]
 | 
						|
=== Check project consistency
 | 
						|
 | 
						|
Performs consistency checks on the project.
 | 
						|
 | 
						|
Which consistency checks should be performed is controlled by the
 | 
						|
link:#check-project-input[CheckProjectInput] entity in the request
 | 
						|
body.
 | 
						|
 | 
						|
The following consistency checks are supported:
 | 
						|
 | 
						|
[[auto-closeable-changes-check]]
 | 
						|
--
 | 
						|
* AutoCloseableChangesCheck: Searches for open changes that can be
 | 
						|
  auto-closed because a patch set of the change is already contained in
 | 
						|
  the destination branch or because the destination branch contains a
 | 
						|
  commit with the same Change-Id. Normally Gerrit auto-closes such
 | 
						|
  changes when the corresponding commits are pushed directly to the
 | 
						|
  repository. However if a branch is updated behind Gerrit's back or if
 | 
						|
  auto-closing changes fails (and the push is still successful) change
 | 
						|
  states can get inconsistent (changes that are already part of the
 | 
						|
  destination branch are still open). This consistency check is
 | 
						|
  intended to detect and repair this situation.
 | 
						|
--
 | 
						|
 | 
						|
To fix any problems that can be fixed automatically set the `fix` field
 | 
						|
in the inputs for the consistency checks  to `true`.
 | 
						|
 | 
						|
This REST endpoint requires the
 | 
						|
link:access-control.html#capability_administrateServer[Administrate Server]
 | 
						|
global capability.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  POST /projects/MyProject/check HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "auto_closeable_changes_check": {
 | 
						|
      "fix": true,
 | 
						|
      "branch": "refs/heads/master",
 | 
						|
      "max_commits": 100
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response a link:#check-project-result-info[CheckProjectResultInfo]
 | 
						|
entity is returned that results for the consistency checks.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "auto_closeable_changes_check_result": {
 | 
						|
      "auto_closeable_changes": {
 | 
						|
        "refs/heads/master": [
 | 
						|
          {
 | 
						|
            "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940",
 | 
						|
            "project": "myProject",
 | 
						|
            "branch": "master",
 | 
						|
            "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
 | 
						|
            "subject": "Implementing Feature X",
 | 
						|
            "status": "NEW",
 | 
						|
            "created": "2013-02-01 09:59:32.126000000",
 | 
						|
            "updated": "2013-02-21 11:16:36.775000000",
 | 
						|
            "insertions": 34,
 | 
						|
            "deletions": 101,
 | 
						|
            "_number": 3965,
 | 
						|
            "owner": {
 | 
						|
              "name": "John Doe"
 | 
						|
            },
 | 
						|
            "problems": [
 | 
						|
              {
 | 
						|
                "message": "Patch set 1 (2f15e416237ed9b561199f24184f5f5d2708c584) is merged into destination ref refs/heads/master (2f15e416237ed9b561199f24184f5f5d2708c584), but change status is NEW",
 | 
						|
                "status": "FIXED",
 | 
						|
                "outcome": "Marked change as merged"
 | 
						|
              }
 | 
						|
            ]
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[branch-endpoints]]
 | 
						|
== Branch Endpoints
 | 
						|
 | 
						|
[[list-branches]]
 | 
						|
=== List Branches
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/branches/'
 | 
						|
--
 | 
						|
 | 
						|
List the branches of a project.
 | 
						|
 | 
						|
As result a list of link:#branch-info[BranchInfo] entries is
 | 
						|
returned.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/work%2Fmy-project/branches/ HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "ref": "HEAD",
 | 
						|
      "revision": "master"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "ref": "refs/meta/config",
 | 
						|
      "revision": "76016386a0d8ecc7b6be212424978bb45959d668"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "ref": "refs/heads/master",
 | 
						|
      "revision": "67ebf73496383c6777035e374d2d664009e2aa5c"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "ref": "refs/heads/stable",
 | 
						|
      "revision": "64ca533bd0eb5252d2fee83f63da67caae9b4674",
 | 
						|
      "can_delete": true
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
[[branch-options]]
 | 
						|
==== Branch Options
 | 
						|
 | 
						|
Limit(n)::
 | 
						|
Limit the number of branches to be included in the results.
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/testproject/branches?n=1 HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "ref": "HEAD",
 | 
						|
      "revision": "master",
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
Skip(S)::
 | 
						|
Skip the given number of branches from the beginning of the list.
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/testproject/branches?n=1&s=0 HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "ref": "HEAD",
 | 
						|
      "revision": "master",
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
Substring(m)::
 | 
						|
Limit the results to those branches that match the specified substring.
 | 
						|
+
 | 
						|
The match is case insensitive. May not be used together with `r`.
 | 
						|
+
 | 
						|
List all branches that match substring `test`:
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/testproject/branches?m=test HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "ref": "refs/heads/test1",
 | 
						|
      "revision": "9c9d08a438e55e52f33b608415e6dddd9b18550d",
 | 
						|
      "can_delete": true
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
Regex(r)::
 | 
						|
Limit the results to those branches that match the specified regex.
 | 
						|
Boundary matchers '^' and '$' are implicit. For example: the regex 't*' will
 | 
						|
match any branches that start with 't' and regex '*t' will match any
 | 
						|
branches that end with 't'.
 | 
						|
+
 | 
						|
The match is case sensitive. May not be used together with `m`.
 | 
						|
+
 | 
						|
List all branches that match regex `t.*1`:
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/testproject/branches?r=t.*1 HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "ref": "refs/heads/test1",
 | 
						|
      "revision": "9c9d08a438e55e52f33b608415e6dddd9b18550d",
 | 
						|
      "can_delete": true
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
[[get-branch]]
 | 
						|
=== Get Branch
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/branches/link:#branch-id[\{branch-id\}]'
 | 
						|
--
 | 
						|
 | 
						|
Retrieves a branch of a project. For the "All-Users" repository, the magic
 | 
						|
branch "refs/users/self" is automatically resolved to the user branch of the
 | 
						|
calling user.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/work%2Fmy-project/branches/master HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
As response a link:#branch-info[BranchInfo] entity is returned that
 | 
						|
describes the branch.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "ref": "refs/heads/master",
 | 
						|
    "revision": "67ebf73496383c6777035e374d2d664009e2aa5c"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[create-branch]]
 | 
						|
=== Create Branch
 | 
						|
--
 | 
						|
'PUT /projects/link:#project-name[\{project-name\}]/branches/link:#branch-id[\{branch-id\}]'
 | 
						|
--
 | 
						|
 | 
						|
Creates a new branch.
 | 
						|
 | 
						|
In the request body additional data for the branch can be provided as
 | 
						|
link:#branch-input[BranchInput]. The link:#branch-id[\{branch-id\}] in the URL
 | 
						|
should exactly match with the `ref` field of link:#branch-input[BranchInput], or
 | 
						|
otherwise the request would fail with `400 Bad Request`.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/MyProject/branches/stable HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "revision": "76016386a0d8ecc7b6be212424978bb45959d668"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response a link:#branch-info[BranchInfo] entity is returned that
 | 
						|
describes the created branch.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 201 Created
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "ref": "refs/heads/stable",
 | 
						|
    "revision": "76016386a0d8ecc7b6be212424978bb45959d668",
 | 
						|
    "can_delete": true
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[delete-branch]]
 | 
						|
=== Delete Branch
 | 
						|
--
 | 
						|
'DELETE /projects/link:#project-name[\{project-name\}]/branches/link:#branch-id[\{branch-id\}]'
 | 
						|
--
 | 
						|
 | 
						|
Deletes a branch.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  DELETE /projects/MyProject/branches/stable HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 204 No Content
 | 
						|
----
 | 
						|
 | 
						|
[[delete-branches]]
 | 
						|
=== Delete Branches
 | 
						|
--
 | 
						|
'POST /projects/link:#project-name[\{project-name\}]/branches:delete'
 | 
						|
--
 | 
						|
 | 
						|
Delete one or more branches.
 | 
						|
 | 
						|
The branches to be deleted must be provided in the request body as a
 | 
						|
link:#delete-branches-input[DeleteBranchesInput] entity.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  POST /projects/MyProject/branches:delete HTTP/1.0
 | 
						|
  Content-Type: application/json;charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "branches": [
 | 
						|
      "stable-1.0",
 | 
						|
      "stable-2.0"
 | 
						|
    ]
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 204 No Content
 | 
						|
----
 | 
						|
 | 
						|
If some branches could not be deleted, the response is "`409 Conflict`" and the
 | 
						|
error message is contained in the response body.
 | 
						|
 | 
						|
[[get-content]]
 | 
						|
=== Get Content
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/branches/link:#branch-id[\{branch-id\}]/files/link:rest-api-changes.html#file-id[\{file-id\}]/content'
 | 
						|
--
 | 
						|
 | 
						|
Gets the content of a file from the HEAD revision of a certain branch.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/gerrit/branches/master/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/content HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
The content is returned as base64 encoded string.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: text/plain; charset=UTF-8
 | 
						|
 | 
						|
  Ly8gQ29weXJpZ2h0IChDKSAyMDEwIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY...
 | 
						|
----
 | 
						|
 | 
						|
 | 
						|
[[get-mergeable-info]]
 | 
						|
=== Get Mergeable Information
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/branches/link:#branch-id[\{branch-id\}]/mergeable'
 | 
						|
--
 | 
						|
 | 
						|
Gets whether the source is mergeable with the target branch.
 | 
						|
 | 
						|
The `source` query parameter is required, which can be anything that
 | 
						|
could be resolved to a commit, and is visible to the caller. See
 | 
						|
examples of the `source` attribute in
 | 
						|
link:rest-api-changes.html#merge-input[MergeInput].
 | 
						|
 | 
						|
Also takes an optional parameter `strategy`, which can be `recursive`, `resolve`,
 | 
						|
`simple-two-way-in-core`, `ours` or `theirs`, default will use project settings.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/test/branches/master/mergeable?source=testbranch&strategy=recursive HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
As response a link:rest-api-changes.html#mergeable-info[MergeableInfo] entity is returned.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "submit_type": "MERGE_IF_NECESSARY",
 | 
						|
    "strategy": "recursive",
 | 
						|
    "mergeable": true,
 | 
						|
    "commit_merged": false,
 | 
						|
    "content_merged": false
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
or when there were conflicts.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "submit_type": "MERGE_IF_NECESSARY",
 | 
						|
    "strategy": "recursive",
 | 
						|
    "mergeable": false,
 | 
						|
    "conflicts": [
 | 
						|
      "common.txt",
 | 
						|
      "shared.txt"
 | 
						|
    ]
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
or when the 'testbranch' has been already merged.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "submit_type": "MERGE_IF_NECESSARY",
 | 
						|
    "strategy": "recursive",
 | 
						|
    "mergeable": true,
 | 
						|
    "commit_merged": true,
 | 
						|
    "content_merged": true
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
or when only the content of 'testbranch' has been merged.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "submit_type": "MERGE_IF_NECESSARY",
 | 
						|
    "strategy": "recursive",
 | 
						|
    "mergeable": true,
 | 
						|
    "commit_merged": false,
 | 
						|
    "content_merged": true
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[get-reflog]]
 | 
						|
=== Get Reflog
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/branches/link:#branch-id[\{branch-id\}]/reflog'
 | 
						|
--
 | 
						|
 | 
						|
Gets the reflog of a certain branch.
 | 
						|
 | 
						|
The caller must be project owner.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/gerrit/branches/master/reflog HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
As response a list of link:#reflog-entry-info[ReflogEntryInfo] entities
 | 
						|
is returned that describe the reflog entries. The reflog entries are
 | 
						|
returned in reverse order.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "old_id": "976ced8f4fc0909d7e1584d18455299545881d60",
 | 
						|
      "new_id": "2eaa94bac536654eb592c941e33b91f925698d16",
 | 
						|
      "who": {
 | 
						|
        "name": "Jane Roe",
 | 
						|
        "email": "jane.roe@example.com",
 | 
						|
        "date": "2014-06-30 11:53:43.000000000",
 | 
						|
        "tz": 120
 | 
						|
      },
 | 
						|
      "comment": "merged: fast forward"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "old_id": "c271c6a7161b74f85560c5899c8c73ee89ca5e29",
 | 
						|
      "new_id": "976ced8f4fc0909d7e1584d18455299545881d60",
 | 
						|
      "who": {
 | 
						|
        "name": "John Doe",
 | 
						|
        "email": "john.doe@example.com",
 | 
						|
        "date": "2013-10-02 10:45:26.000000000",
 | 
						|
        "tz": 120
 | 
						|
      },
 | 
						|
      "comment": "merged: fast forward"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "old_id": "0000000000000000000000000000000000000000",
 | 
						|
      "new_id": "c271c6a7161b74f85560c5899c8c73ee89ca5e29",
 | 
						|
      "who": {
 | 
						|
        "name": "John Doe",
 | 
						|
        "email": "john.doe@example.com",
 | 
						|
        "date": "2013-09-30 19:08:44.000000000",
 | 
						|
        "tz": 120
 | 
						|
      },
 | 
						|
      "comment": ""
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
The get reflog endpoint also accepts a limit integer in the `n`
 | 
						|
parameter. This limits the results to show the last `n` reflog entries.
 | 
						|
 | 
						|
Query the last 25 reflog entries.
 | 
						|
----
 | 
						|
  GET /projects/gerrit/branches/master/reflog?n=25 HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
The reflog can also be filtered by timestamp by specifying the `from`
 | 
						|
and `to` parameters. The timestamp for `from` and `to` must be given as
 | 
						|
UTC in the following format: `yyyyMMdd_HHmm`.
 | 
						|
 | 
						|
----
 | 
						|
  GET /projects/gerrit/branches/master/reflog?from=20130101_0000&to=20140101_0000=25 HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
[[child-project-endpoints]]
 | 
						|
== Child Project Endpoints
 | 
						|
 | 
						|
[[list-child-projects]]
 | 
						|
=== List Child Projects
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/children/'
 | 
						|
--
 | 
						|
 | 
						|
List the direct child projects of a project.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/Public-Plugins/children/ HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
As result a list of link:#project-info[ProjectInfo] entries is
 | 
						|
returned that describe the child projects.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "id": "plugins%2Freplication",
 | 
						|
      "name": "plugins/replication",
 | 
						|
      "parent": "Public-Plugins",
 | 
						|
      "description": "Copies to other servers using the Git protocol"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "id": "plugins%2Freviewnotes",
 | 
						|
      "name": "plugins/reviewnotes",
 | 
						|
      "parent": "Public-Plugins",
 | 
						|
      "description": "Annotates merged commits using notes on refs/notes/review."
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "id": "plugins%2Fsingleusergroup",
 | 
						|
      "name": "plugins/singleusergroup",
 | 
						|
      "parent": "Public-Plugins",
 | 
						|
      "description": "GroupBackend enabling users to be directly added to access rules"
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
To resolve the child projects of a project recursively the parameter
 | 
						|
`recursive` can be set.
 | 
						|
 | 
						|
Child projects that are not visible to the calling user are ignored and
 | 
						|
are not resolved further.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/Public-Projects/children/?recursive HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "id": "gerrit",
 | 
						|
      "name": "gerrit",
 | 
						|
      "parent": "Public-Projects",
 | 
						|
      "description": "Gerrit Code Review"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "id": "plugins%2Freplication",
 | 
						|
      "name": "plugins/replication",
 | 
						|
      "parent": "Public-Plugins",
 | 
						|
      "description": "Copies to other servers using the Git protocol"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "id": "plugins%2Freviewnotes",
 | 
						|
      "name": "plugins/reviewnotes",
 | 
						|
      "parent": "Public-Plugins",
 | 
						|
      "description": "Annotates merged commits using notes on refs/notes/review."
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "id": "plugins%2Fsingleusergroup",
 | 
						|
      "name": "plugins/singleusergroup",
 | 
						|
      "parent": "Public-Plugins",
 | 
						|
      "description": "GroupBackend enabling users to be directly added to access rules"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "id": "Public-Plugins",
 | 
						|
      "name": "Public-Plugins",
 | 
						|
      "parent": "Public-Projects",
 | 
						|
      "description": "Parent project for plugins/*"
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
[[get-child-project]]
 | 
						|
=== Get Child Project
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/children/link:#project-name[\{project-name\}]'
 | 
						|
--
 | 
						|
 | 
						|
Retrieves a child project. If a non-direct child project should be
 | 
						|
retrieved the parameter `recursive` must be set.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/Public-Plugins/children/plugins%2Freplication HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
As response a link:#project-info[ProjectInfo] entity is returned that
 | 
						|
describes the child project.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "id": "plugins%2Freplication",
 | 
						|
    "name": "plugins/replication",
 | 
						|
    "parent": "Public-Plugins",
 | 
						|
    "description": "Copies to other servers using the Git protocol"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[tag-endpoints]]
 | 
						|
== Tag Endpoints
 | 
						|
 | 
						|
[[create-tag]]
 | 
						|
=== Create Tag
 | 
						|
 | 
						|
--
 | 
						|
'PUT /projects/link:#project-name[\{project-name\}]/tags/link:#tag-id[\{tag-id\}]'
 | 
						|
--
 | 
						|
 | 
						|
Create a new tag on the project.
 | 
						|
 | 
						|
In the request body additional data for the tag can be provided as
 | 
						|
link:#tag-input[TagInput].
 | 
						|
 | 
						|
If a message is provided in the input, the tag is created as an
 | 
						|
annotated tag with the current user as tagger. Signed tags are not
 | 
						|
supported.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/MyProject/tags/v1.0 HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "message": "annotation",
 | 
						|
    "revision": "c83117624b5b5d8a7f86093824e2f9c1ed309d63"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response a link:#tag-info[TagInfo] entity is returned that describes
 | 
						|
the created tag.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 201 Created
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
 | 
						|
  "object": "d48d304adc4b6674e11dc2c018ea05fcbdda32fd",
 | 
						|
  "message": "annotation",
 | 
						|
  "tagger": {
 | 
						|
    "name": "David Pursehouse",
 | 
						|
    "email": "dpursehouse@collab.net",
 | 
						|
    "date": "2016-06-06 01:22:03.000000000",
 | 
						|
    "tz": 540
 | 
						|
  },
 | 
						|
  "ref": "refs/tags/v1.0",
 | 
						|
  "revision": "c83117624b5b5d8a7f86093824e2f9c1ed309d63"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[list-tags]]
 | 
						|
=== List Tags
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/tags/'
 | 
						|
--
 | 
						|
 | 
						|
List the tags of a project.
 | 
						|
 | 
						|
As result a list of link:#tag-info[TagInfo] entries is returned.
 | 
						|
 | 
						|
Only includes tags under the `refs/tags/` namespace.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/work%2Fmy-project/tags/ HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "ref": "refs/tags/v1.0",
 | 
						|
      "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666",
 | 
						|
      "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
 | 
						|
      "message": "Annotated tag",
 | 
						|
      "tagger": {
 | 
						|
        "name": "David Pursehouse",
 | 
						|
        "email": "david.pursehouse@sonymobile.com",
 | 
						|
        "date": "2014-10-06 07:35:03.000000000",
 | 
						|
        "tz": 540
 | 
						|
      }
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "ref": "refs/tags/v2.0",
 | 
						|
      "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "ref": "refs/tags/v3.0",
 | 
						|
      "revision": "c628685b3c5a3614571ecb5c8fceb85db9112313",
 | 
						|
      "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
 | 
						|
      "message": "Signed tag\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.4.11 (GNU/Linux)\n\niQEcBAABAgAGBQJUMlqYAAoJEPI2qVPgglptp7MH/j+KFcittFbxfSnZjUl8n5IZ\nveZo7wE+syjD9sUbMH4EGv0WYeVjphNTyViBof+stGTNkB0VQzLWI8+uWmOeiJ4a\nzj0LsbDOxodOEMI5tifo02L7r4Lzj++EbqtKv8IUq2kzYoQ2xjhKfFiGjeYOn008\n9PGnhNblEHZgCHguGR6GsfN8bfA2XNl9B5Ysl5ybX1kAVs/TuLZR4oDMZ/pW2S75\nhuyNnSgcgq7vl2gLGefuPs9lxkg5Fj3GZr7XPZk4pt/x1oiH7yXxV4UzrUwg2CC1\nfHrBlNbQ4uJNY8TFcwof52Z0cagM5Qb/ZSLglHbqEDGA68HPqbwf5z2hQyU2/U4\u003d\n\u003dZtUX\n-----END PGP SIGNATURE-----",
 | 
						|
      "tagger": {
 | 
						|
        "name": "David Pursehouse",
 | 
						|
        "email": "david.pursehouse@sonymobile.com",
 | 
						|
        "date": "2014-10-06 09:02:16.000000000",
 | 
						|
        "tz": 540
 | 
						|
      }
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
[[tag-options]]
 | 
						|
==== Tag Options
 | 
						|
 | 
						|
Limit(n)::
 | 
						|
Limit the number of tags to be included in the results.
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/work%2Fmy-project/tags?n=2 HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "ref": "refs/tags/v1.0",
 | 
						|
      "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666",
 | 
						|
      "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
 | 
						|
      "message": "Annotated tag",
 | 
						|
      "tagger": {
 | 
						|
        "name": "David Pursehouse",
 | 
						|
        "email": "david.pursehouse@sonymobile.com",
 | 
						|
        "date": "2014-10-06 07:35:03.000000000",
 | 
						|
        "tz": 540
 | 
						|
      }
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "ref": "refs/tags/v2.0",
 | 
						|
      "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30"
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
Skip(S)::
 | 
						|
Skip the given number of tags from the beginning of the list.
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/work%2Fmy-project/tags?n=2&s=1 HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "ref": "refs/tags/v2.0",
 | 
						|
      "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "ref": "refs/tags/v3.0",
 | 
						|
      "revision": "c628685b3c5a3614571ecb5c8fceb85db9112313",
 | 
						|
      "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
 | 
						|
      "message": "Signed tag\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.4.11 (GNU/Linux)\n\niQEcBAABAgAGBQJUMlqYAAoJEPI2qVPgglptp7MH/j+KFcittFbxfSnZjUl8n5IZ\nveZo7wE+syjD9sUbMH4EGv0WYeVjphNTyViBof+stGTNkB0VQzLWI8+uWmOeiJ4a\nzj0LsbDOxodOEMI5tifo02L7r4Lzj++EbqtKv8IUq2kzYoQ2xjhKfFiGjeYOn008\n9PGnhNblEHZgCHguGR6GsfN8bfA2XNl9B5Ysl5ybX1kAVs/TuLZR4oDMZ/pW2S75\nhuyNnSgcgq7vl2gLGefuPs9lxkg5Fj3GZr7XPZk4pt/x1oiH7yXxV4UzrUwg2CC1\nfHrBlNbQ4uJNY8TFcwof52Z0cagM5Qb/ZSLglHbqEDGA68HPqbwf5z2hQyU2/U4\u003d\n\u003dZtUX\n-----END PGP SIGNATURE-----",
 | 
						|
      "tagger": {
 | 
						|
        "name": "David Pursehouse",
 | 
						|
        "email": "david.pursehouse@sonymobile.com",
 | 
						|
        "date": "2014-10-06 09:02:16.000000000",
 | 
						|
        "tz": 540
 | 
						|
      }
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
Substring(m)::
 | 
						|
Limit the results to those tags that match the specified substring.
 | 
						|
+
 | 
						|
The match is case insensitive.  May not be used together with `r`.
 | 
						|
+
 | 
						|
List all tags that match substring `v2`:
 | 
						|
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/testproject/tags?m=v2 HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "ref": "refs/tags/v2.0",
 | 
						|
      "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30"
 | 
						|
    },
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
Regex(r)::
 | 
						|
Limit the results to those tags that match the specified regex.
 | 
						|
Boundary matchers '^' and '$' are implicit. For example: the regex 't*' will
 | 
						|
match any tags that start with 't' and regex '*t' will match any
 | 
						|
tags that end with 't'.
 | 
						|
+
 | 
						|
The match is case sensitive.  May not be used together with `m`.
 | 
						|
+
 | 
						|
List all tags that match regex `v.*0`:
 | 
						|
+
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/testproject/tags?r=v.*0 HTTP/1.0
 | 
						|
----
 | 
						|
+
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "ref": "refs/tags/v1.0",
 | 
						|
      "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666",
 | 
						|
      "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
 | 
						|
      "message": "Annotated tag",
 | 
						|
      "tagger": {
 | 
						|
        "name": "David Pursehouse",
 | 
						|
        "email": "david.pursehouse@sonymobile.com",
 | 
						|
        "date": "2014-10-06 07:35:03.000000000",
 | 
						|
        "tz": 540
 | 
						|
      }
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "ref": "refs/tags/v2.0",
 | 
						|
      "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30"
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "ref": "refs/tags/v3.0",
 | 
						|
      "revision": "c628685b3c5a3614571ecb5c8fceb85db9112313",
 | 
						|
      "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
 | 
						|
      "message": "Signed tag\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.4.11 (GNU/Linux)\n\niQEcBAABAgAGBQJUMlqYAAoJEPI2qVPgglptp7MH/j+KFcittFbxfSnZjUl8n5IZ\nveZo7wE+syjD9sUbMH4EGv0WYeVjphNTyViBof+stGTNkB0VQzLWI8+uWmOeiJ4a\nzj0LsbDOxodOEMI5tifo02L7r4Lzj++EbqtKv8IUq2kzYoQ2xjhKfFiGjeYOn008\n9PGnhNblEHZgCHguGR6GsfN8bfA2XNl9B5Ysl5ybX1kAVs/TuLZR4oDMZ/pW2S75\nhuyNnSgcgq7vl2gLGefuPs9lxkg5Fj3GZr7XPZk4pt/x1oiH7yXxV4UzrUwg2CC1\nfHrBlNbQ4uJNY8TFcwof52Z0cagM5Qb/ZSLglHbqEDGA68HPqbwf5z2hQyU2/U4\u003d\n\u003dZtUX\n-----END PGP SIGNATURE-----",
 | 
						|
      "tagger": {
 | 
						|
        "name": "David Pursehouse",
 | 
						|
        "email": "david.pursehouse@sonymobile.com",
 | 
						|
        "date": "2014-10-06 09:02:16.000000000",
 | 
						|
        "tz": 540
 | 
						|
      }
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
[[get-tag]]
 | 
						|
=== Get Tag
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/tags/link:#tag-id[\{tag-id\}]'
 | 
						|
--
 | 
						|
 | 
						|
Retrieves a tag of a project.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/work%2Fmy-project/tags/v1.0 HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
As response a link:#tag-info[TagInfo] entity is returned that describes the tag.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "ref": "refs/tags/v1.0",
 | 
						|
    "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666",
 | 
						|
    "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
 | 
						|
    "message": "Annotated tag",
 | 
						|
    "tagger": {
 | 
						|
      "name": "David Pursehouse",
 | 
						|
      "email": "david.pursehouse@sonymobile.com",
 | 
						|
      "date": "2014-10-06 07:35:03.000000000",
 | 
						|
      "tz": 540
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[delete-tag]]
 | 
						|
=== Delete Tag
 | 
						|
--
 | 
						|
'DELETE /projects/link:#project-name[\{project-name\}]/tags/link:#tag-id[\{tag-id\}]'
 | 
						|
--
 | 
						|
 | 
						|
Deletes a tag.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  DELETE /projects/MyProject/tags/v1.0 HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 204 No Content
 | 
						|
----
 | 
						|
 | 
						|
[[delete-tags]]
 | 
						|
=== Delete Tags
 | 
						|
--
 | 
						|
'POST /projects/link:#project-name[\{project-name\}]/tags:delete'
 | 
						|
--
 | 
						|
 | 
						|
Delete one or more tags.
 | 
						|
 | 
						|
The tags to be deleted must be provided in the request body as a
 | 
						|
link:#delete-tags-input[DeleteTagsInput] entity.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  POST /projects/MyProject/tags:delete HTTP/1.0
 | 
						|
  Content-Type: application/json;charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "tags": [
 | 
						|
      "v1.0",
 | 
						|
      "v2.0"
 | 
						|
    ]
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 204 No Content
 | 
						|
----
 | 
						|
 | 
						|
If some tags could not be deleted, the response is "`409 Conflict`" and the
 | 
						|
error message is contained in the response body.
 | 
						|
 | 
						|
[[commit-endpoints]]
 | 
						|
== Commit Endpoints
 | 
						|
 | 
						|
[[get-commit]]
 | 
						|
=== Get Commit
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/commits/link:#commit-id[\{commit-id\}]'
 | 
						|
--
 | 
						|
 | 
						|
Retrieves a commit of a project.
 | 
						|
 | 
						|
The commit must be visible to the caller.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96 HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
As response a link:rest-api-changes.html#commit-info[CommitInfo] entity
 | 
						|
is returned that describes the commit.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "commit": "184ebe53805e102605d11f6b143486d15c23a09c",
 | 
						|
    "parents": [
 | 
						|
      {
 | 
						|
        "commit": "1eee2c9d8f352483781e772f35dc586a69ff5646",
 | 
						|
        "subject": "Migrate contributor agreements to All-Projects."
 | 
						|
      }
 | 
						|
    ],
 | 
						|
    "author": {
 | 
						|
      "name": "Shawn O. Pearce",
 | 
						|
      "email": "sop@google.com",
 | 
						|
      "date": "2012-04-24 18:08:08.000000000",
 | 
						|
      "tz": -420
 | 
						|
    },
 | 
						|
    "committer": {
 | 
						|
      "name": "Shawn O. Pearce",
 | 
						|
      "email": "sop@google.com",
 | 
						|
      "date": "2012-04-24 18:08:08.000000000",
 | 
						|
      "tz": -420
 | 
						|
    },
 | 
						|
    "subject": "Use an EventBus to manage star icons",
 | 
						|
    "message": "Use an EventBus to manage star icons\n\nImage widgets that need to ..."
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[get-included-in]]
 | 
						|
=== Get Included In
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/commits/link:#commit-id[\{commit-id\}]/in'
 | 
						|
--
 | 
						|
 | 
						|
Retrieves the branches and tags in which a change is included. As result
 | 
						|
an link:rest-api-changes.html#included-in-info[IncludedInInfo] entity is returned.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96/in HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json;charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "branches": [
 | 
						|
      "master"
 | 
						|
    ],
 | 
						|
    "tags": []
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[get-content-from-commit]]
 | 
						|
=== Get Content
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/commits/link:#commit-id[\{commit-id\}]/files/link:rest-api-changes.html#file-id[\{file-id\}]/content'
 | 
						|
--
 | 
						|
 | 
						|
Gets the content of a file from a certain commit.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/content HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
The content is returned as base64 encoded string.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: text/plain; charset=UTF-8
 | 
						|
 | 
						|
  Ly8gQ29weXJpZ2h0IChDKSAyMDEwIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY...
 | 
						|
----
 | 
						|
 | 
						|
 | 
						|
[[cherry-pick-commit]]
 | 
						|
=== Cherry Pick Commit
 | 
						|
--
 | 
						|
'POST /projects/link:#project-name[\{project-name\}]/commits/link:#commit-id[\{commit-id\}]/cherrypick'
 | 
						|
--
 | 
						|
 | 
						|
Cherry-picks a commit of a project to a destination branch.
 | 
						|
 | 
						|
To cherry pick a change revision, see link:rest-api-changes.html#cherry-pick[CherryPick].
 | 
						|
 | 
						|
The destination branch must be provided in the request body inside a
 | 
						|
link:rest-api-changes.html#cherrypick-input[CherryPickInput] entity.
 | 
						|
If the commit message is not set, the commit message of the source
 | 
						|
commit will be used.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  POST /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96/cherrypick HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "message" : "Implementing Feature X",
 | 
						|
    "destination" : "release-branch"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response a link:rest-api-changes.html#change-info[ChangeInfo] entity
 | 
						|
is returned that describes the resulting cherry-picked change.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9941",
 | 
						|
    "project": "myProject",
 | 
						|
    "branch": "release-branch",
 | 
						|
    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9941",
 | 
						|
    "subject": "Implementing Feature X",
 | 
						|
    "status": "NEW",
 | 
						|
    "created": "2013-02-01 09:59:32.126000000",
 | 
						|
    "updated": "2013-02-21 11:16:36.775000000",
 | 
						|
    "mergeable": true,
 | 
						|
    "insertions": 12,
 | 
						|
    "deletions": 11,
 | 
						|
    "_number": 3965,
 | 
						|
    "owner": {
 | 
						|
      "name": "John Doe"
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[list-files]]
 | 
						|
=== List Files
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/commits/link:#commit-id[\{commit-id\}]/files/'
 | 
						|
--
 | 
						|
 | 
						|
Lists the files that were modified, added or deleted in a commit.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96/files/ HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
As result a map is returned that maps the link:rest-api-changes.html#file-id[file path] to a
 | 
						|
link:rest-api-changes.html#file-info[FileInfo] entry. The entries in the map are
 | 
						|
sorted by file path.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "/COMMIT_MSG": {
 | 
						|
      "status": "A",
 | 
						|
      "lines_inserted": 7,
 | 
						|
      "size_delta": 551,
 | 
						|
      "size": 551
 | 
						|
    },
 | 
						|
    "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java": {
 | 
						|
      "lines_inserted": 5,
 | 
						|
      "lines_deleted": 3,
 | 
						|
      "size_delta": 98,
 | 
						|
      "size": 23348
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
The integer-valued request parameter `parent` changes the response to return a
 | 
						|
list of the files which are different in this commit compared to the given
 | 
						|
parent commit. This is useful for supporting review of merge commits. The value
 | 
						|
is the 1-based index of the parent's position in the commit object. If the
 | 
						|
value 0 is used for `parent`, the default base commit will be used, which is
 | 
						|
the only parent for commits having one parent or the auto-merge commit
 | 
						|
otherwise.
 | 
						|
 | 
						|
[[dashboard-endpoints]]
 | 
						|
== Dashboard Endpoints
 | 
						|
 | 
						|
[[list-dashboards]]
 | 
						|
=== List Dashboards
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/dashboards/'
 | 
						|
--
 | 
						|
 | 
						|
List custom dashboards for a project.
 | 
						|
 | 
						|
As result a list of link:#dashboard-info[DashboardInfo] entries is
 | 
						|
returned.
 | 
						|
 | 
						|
List all dashboards for the `work/my-project` project:
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/work%2Fmy-project/dashboards/ HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "id": "main:closed",
 | 
						|
      "ref": "main",
 | 
						|
      "path": "closed",
 | 
						|
      "description": "Merged and abandoned changes in last 7 weeks",
 | 
						|
      "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
 | 
						|
      "is_default": true,
 | 
						|
      "title": "Closed changes",
 | 
						|
      "sections": [
 | 
						|
        {
 | 
						|
          "name": "Merged",
 | 
						|
          "query": "status:merged age:7w"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "name": "Abandoned",
 | 
						|
          "query": "status:abandoned age:7w"
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
.Get all dashboards of the 'All-Projects' project
 | 
						|
****
 | 
						|
get::/projects/All-Projects/dashboards/
 | 
						|
****
 | 
						|
 | 
						|
[[get-dashboard]]
 | 
						|
=== Get Dashboard
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/dashboards/link:#dashboard-id[\{dashboard-id\}]'
 | 
						|
--
 | 
						|
 | 
						|
Retrieves a project dashboard. The dashboard can be defined on that
 | 
						|
project or be inherited from a parent project.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/work%2Fmy-project/dashboards/main:closed HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
As response a link:#dashboard-info[DashboardInfo] entity is returned
 | 
						|
that describes the dashboard.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "id": "main:closed",
 | 
						|
    "ref": "main",
 | 
						|
    "path": "closed",
 | 
						|
    "description": "Merged and abandoned changes in last 7 weeks",
 | 
						|
    "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
 | 
						|
    "is_default": true,
 | 
						|
    "title": "Closed changes",
 | 
						|
    "sections": [
 | 
						|
      {
 | 
						|
        "name": "Merged",
 | 
						|
        "query": "status:merged age:7w"
 | 
						|
      },
 | 
						|
      {
 | 
						|
        "name": "Abandoned",
 | 
						|
        "query": "status:abandoned age:7w"
 | 
						|
      }
 | 
						|
    ]
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
To retrieve the default dashboard of a project use `default` as
 | 
						|
dashboard-id.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/work%2Fmy-project/dashboards/default HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "id": "main:closed",
 | 
						|
    "ref": "main",
 | 
						|
    "path": "closed",
 | 
						|
    "description": "Merged and abandoned changes in last 7 weeks",
 | 
						|
    "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
 | 
						|
    "is_default": true,
 | 
						|
    "title": "Closed changes",
 | 
						|
    "sections": [
 | 
						|
      {
 | 
						|
        "name": "Merged",
 | 
						|
        "query": "status:merged age:7w"
 | 
						|
      },
 | 
						|
      {
 | 
						|
        "name": "Abandoned",
 | 
						|
        "query": "status:abandoned age:7w"
 | 
						|
      }
 | 
						|
    ]
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[create-dashboard]]
 | 
						|
=== Create Dashboard
 | 
						|
--
 | 
						|
'PUT /projects/link:#project-name[\{project-name\}]/dashboards/link:#dashboard-id[\{dashboard-id\}]'
 | 
						|
--
 | 
						|
 | 
						|
Creates a project dashboard, if a project dashboard with the given
 | 
						|
dashboard ID doesn't exist yet.
 | 
						|
 | 
						|
Currently only supported for the `default` dashboard.
 | 
						|
 | 
						|
The creation information for the dashboard must be provided in
 | 
						|
the request body as a link:#dashboard-input[DashboardInput] entity.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/work%2Fmy-project/dashboards/default HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "id": "main:closed",
 | 
						|
    "commit_message": "Define the default dashboard"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response the new dashboard is returned as a link:#dashboard-info[
 | 
						|
DashboardInfo] entity.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 201 Created
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "id": "main:closed",
 | 
						|
    "ref": "main",
 | 
						|
    "path": "closed",
 | 
						|
    "description": "Merged and abandoned changes in last 7 weeks",
 | 
						|
    "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
 | 
						|
    "is_default": true,
 | 
						|
    "title": "Closed changes",
 | 
						|
    "sections": [
 | 
						|
      {
 | 
						|
        "name": "Merged",
 | 
						|
        "query": "status:merged age:7w"
 | 
						|
      },
 | 
						|
      {
 | 
						|
        "name": "Abandoned",
 | 
						|
        "query": "status:abandoned age:7w"
 | 
						|
      }
 | 
						|
    ]
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[update-dashboard]]
 | 
						|
=== Update Dashboard
 | 
						|
--
 | 
						|
'PUT /projects/link:#project-name[\{project-name\}]/dashboards/link:#dashboard-id[\{dashboard-id\}]'
 | 
						|
--
 | 
						|
 | 
						|
Updates a project dashboard, if a project dashboard with the given
 | 
						|
dashboard ID already exists.
 | 
						|
 | 
						|
Currently only supported for the `default` dashboard.
 | 
						|
 | 
						|
The update information for the dashboard must be provided in
 | 
						|
the request body as a link:#dashboard-input[DashboardInput] entity.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/work%2Fmy-project/dashboards/default HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "id": "main:closed",
 | 
						|
    "commit_message": "Update the default dashboard"
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response the updated dashboard is returned as a
 | 
						|
link:#dashboard-info[DashboardInfo] entity.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "id": "main:closed",
 | 
						|
    "ref": "main",
 | 
						|
    "path": "closed",
 | 
						|
    "description": "Merged and abandoned changes in last 7 weeks",
 | 
						|
    "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
 | 
						|
    "is_default": true,
 | 
						|
    "title": "Closed changes",
 | 
						|
    "sections": [
 | 
						|
      {
 | 
						|
        "name": "Merged",
 | 
						|
        "query": "status:merged age:7w"
 | 
						|
      },
 | 
						|
      {
 | 
						|
        "name": "Abandoned",
 | 
						|
        "query": "status:abandoned age:7w"
 | 
						|
      }
 | 
						|
    ]
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[delete-dashboard]]
 | 
						|
=== Delete Dashboard
 | 
						|
--
 | 
						|
'DELETE /projects/link:#project-name[\{project-name\}]/dashboards/link:#dashboard-id[\{dashboard-id\}]'
 | 
						|
--
 | 
						|
 | 
						|
Deletes a project dashboard.
 | 
						|
 | 
						|
Currently only supported for the `default` dashboard.
 | 
						|
 | 
						|
The request body does not need to include a link:#dashboard-input[
 | 
						|
DashboardInput] entity if no commit message is specified.
 | 
						|
 | 
						|
Please note that some proxies prohibit request bodies for DELETE
 | 
						|
requests.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  DELETE /projects/work%2Fmy-project/dashboards/default HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 204 No Content
 | 
						|
----
 | 
						|
 | 
						|
[[label-endpoints]]
 | 
						|
== Label Endpoints
 | 
						|
 | 
						|
[[list-labels]]
 | 
						|
=== List Labels
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/labels/'
 | 
						|
--
 | 
						|
 | 
						|
Lists the labels that are defined in this project.
 | 
						|
 | 
						|
The calling user must have read access to the `refs/meta/config` branch of the
 | 
						|
project.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/All-Projects/labels/ HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
As result a list of link:#label-definition-info[LabelDefinitionInfo] entities
 | 
						|
is returned that describe the labels that are defined in this project
 | 
						|
(inherited labels are not returned unless the `inherited` parameter is set, see
 | 
						|
link:#list-with-inherited-labels[below]). The returned labels are sorted by
 | 
						|
label name.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "name": "Code-Review",
 | 
						|
      "project": "All-Projects",
 | 
						|
      "function": "MaxWithBlock",
 | 
						|
      "values": {
 | 
						|
        " 0": "No score",
 | 
						|
        "-1": "I would prefer this is not merged as is",
 | 
						|
        "-2": "This shall not be merged",
 | 
						|
        "+1": "Looks good to me, but someone else must approve",
 | 
						|
        "+2": "Looks good to me, approved"
 | 
						|
      },
 | 
						|
      "default_value": 0,
 | 
						|
      "can_override": true,
 | 
						|
      "copy_min_score": true,
 | 
						|
      "copy_all_scores_if_no_change": true,
 | 
						|
      "copy_all_scores_on_trivial_rebase": true,
 | 
						|
      "allow_post_submit": true
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
[[list-with-inherited-labels]]
 | 
						|
To include inherited labels from all parent projects the parameter `inherited`
 | 
						|
can be set.
 | 
						|
 | 
						|
The calling user must have read access to the `refs/meta/config` branch of the
 | 
						|
project and all its parent projects.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/My-Project/labels/?inherited HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
As result a list of link:#label-definition-info[LabelDefinitionInfo] entities
 | 
						|
is returned that describe the labels that are defined in this project and in
 | 
						|
all its parent projects. The returned labels are sorted by parent projects
 | 
						|
in-order from `All-Projects` through the project hierarchy to this project.
 | 
						|
Labels that belong to the same project are sorted by label name.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  [
 | 
						|
    {
 | 
						|
      "name": "Code-Review",
 | 
						|
      "project": "All-Projects",
 | 
						|
      "function": "MaxWithBlock",
 | 
						|
      "values": {
 | 
						|
        " 0": "No score",
 | 
						|
        "-1": "I would prefer this is not merged as is",
 | 
						|
        "-2": "This shall not be merged",
 | 
						|
        "+1": "Looks good to me, but someone else must approve",
 | 
						|
        "+2": "Looks good to me, approved"
 | 
						|
      },
 | 
						|
      "default_value": 0,
 | 
						|
      "can_override": true,
 | 
						|
      "copy_min_score": true,
 | 
						|
      "copy_all_scores_if_no_change": true,
 | 
						|
      "copy_all_scores_on_trivial_rebase": true,
 | 
						|
      "allow_post_submit": true
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "name": "Foo-Review",
 | 
						|
      "project": "My-Project",
 | 
						|
      "function": "MaxWithBlock",
 | 
						|
      "values": {
 | 
						|
        " 0": "No score",
 | 
						|
        "-1": "I would prefer this is not merged as is",
 | 
						|
        "-2": "This shall not be merged",
 | 
						|
        "+1": "Looks good to me, but someone else must approve",
 | 
						|
        "+2": "Looks good to me, approved"
 | 
						|
      },
 | 
						|
      "default_value": 0,
 | 
						|
      "can_override": true,
 | 
						|
      "copy_any_score": true,
 | 
						|
      "allow_post_submit": true
 | 
						|
    }
 | 
						|
  ]
 | 
						|
----
 | 
						|
 | 
						|
[[get-label]]
 | 
						|
=== Get Label
 | 
						|
--
 | 
						|
'GET /projects/link:#project-name[\{project-name\}]/labels/link:#label-name[\{label-name\}]'
 | 
						|
--
 | 
						|
 | 
						|
Retrieves the definition of a label that is defined in this project.
 | 
						|
 | 
						|
The calling user must have read access to the `refs/meta/config` branch of the
 | 
						|
project.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  GET /projects/All-Projects/labels/Code-Review HTTP/1.0
 | 
						|
----
 | 
						|
 | 
						|
As response a link:#label-definition-info[LabelDefinitionInfo] entity is
 | 
						|
returned that describes the label.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "name": "Code-Review",
 | 
						|
    "project": "All-Projects",
 | 
						|
    "function": "MaxWithBlock",
 | 
						|
    "values": {
 | 
						|
      " 0": "No score",
 | 
						|
      "-1": "I would prefer this is not merged as is",
 | 
						|
      "-2": "This shall not be merged",
 | 
						|
      "+1": "Looks good to me, but someone else must approve",
 | 
						|
      "+2": "Looks good to me, approved"
 | 
						|
    },
 | 
						|
    "default_value": 0,
 | 
						|
    "can_override": true,
 | 
						|
    "copy_min_score": true,
 | 
						|
    "copy_all_scores_if_no_change": true,
 | 
						|
    "copy_all_scores_on_trivial_rebase": true,
 | 
						|
    "allow_post_submit": true
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[create-label]]
 | 
						|
=== Create Label
 | 
						|
--
 | 
						|
'PUT /projects/link:#project-name[\{project-name\}]/labels/link:#label-name[\{label-name\}]'
 | 
						|
--
 | 
						|
 | 
						|
Creates a new label definition in this project.
 | 
						|
 | 
						|
The calling user must have write access to the `refs/meta/config` branch of the
 | 
						|
project.
 | 
						|
 | 
						|
If a label with this name is already defined in this project, this label
 | 
						|
definition is updated (see link:#set-label[Set Label]).
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/My-Project/labels/Foo HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "commit_message": "Create Foo Label",
 | 
						|
    "values": {
 | 
						|
      " 0": "No score",
 | 
						|
      "-1": "I would prefer this is not merged as is",
 | 
						|
      "-2": "This shall not be merged",
 | 
						|
      "+1": "Looks good to me, but someone else must approve",
 | 
						|
      "+2": "Looks good to me, approved"
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response a link:#label-definition-info[LabelDefinitionInfo] entity is
 | 
						|
returned that describes the created label.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "name": "Foo",
 | 
						|
    "project_name": "My-Project",
 | 
						|
    "function": "MaxWithBlock",
 | 
						|
    "values": {
 | 
						|
      " 0": "No score",
 | 
						|
      "-1": "I would prefer this is not merged as is",
 | 
						|
      "-2": "This shall not be merged",
 | 
						|
      "+1": "Looks good to me, but someone else must approve",
 | 
						|
      "+2": "Looks good to me, approved"
 | 
						|
    },
 | 
						|
    "default_value": 0,
 | 
						|
    "can_override": true,
 | 
						|
    "copy_all_scores_if_no_change": true,
 | 
						|
    "allow_post_submit": true
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[set-label]]
 | 
						|
=== Set Label
 | 
						|
--
 | 
						|
'PUT /projects/link:#project-name[\{project-name\}]/labels/link:#label-name[\{label-name\}]'
 | 
						|
--
 | 
						|
 | 
						|
Updates the definition of a label that is defined in this project.
 | 
						|
 | 
						|
The calling user must have write access to the `refs/meta/config` branch of the
 | 
						|
project.
 | 
						|
 | 
						|
Properties which are not set in the input entity are not modified.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  PUT /projects/All-Projects/labels/Code-Review HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "commit_message": "Ignore self approvals for Code-Review label",
 | 
						|
    "ignore_self_approval": true
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
As response a link:#label-definition-info[LabelDefinitionInfo] entity is
 | 
						|
returned that describes the updated label.
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
  Content-Disposition: attachment
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  )]}'
 | 
						|
  {
 | 
						|
    "name": "Code-Review",
 | 
						|
    "project": "All-Projects",
 | 
						|
    "function": "MaxWithBlock",
 | 
						|
    "values": {
 | 
						|
      " 0": "No score",
 | 
						|
      "-1": "I would prefer this is not merged as is",
 | 
						|
      "-2": "This shall not be merged",
 | 
						|
      "+1": "Looks good to me, but someone else must approve",
 | 
						|
      "+2": "Looks good to me, approved"
 | 
						|
    },
 | 
						|
    "default_value": 0,
 | 
						|
    "can_override": true,
 | 
						|
    "copy_min_score": true,
 | 
						|
    "copy_all_scores_if_no_change": true,
 | 
						|
    "copy_all_scores_on_trivial_rebase": true,
 | 
						|
    "allow_post_submit": true,
 | 
						|
    "ignore_self_approval": true
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
[[delete-label]]
 | 
						|
=== Delete Label
 | 
						|
--
 | 
						|
'DELETE /projects/link:#project-name[\{project-name\}]/labels/link:#label-name[\{label-name\}]'
 | 
						|
--
 | 
						|
 | 
						|
Deletes the definition of a label that is defined in this project.
 | 
						|
 | 
						|
The calling user must have write access to the `refs/meta/config` branch of the
 | 
						|
project.
 | 
						|
 | 
						|
The request body does not need to include a link:#delete-label-input[
 | 
						|
DeleteLabelInput] entity if no commit message is specified.
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  DELETE /projects/My-Project/labels/Foo-Review HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "commit_message": "Delete Foo-Review label",
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
If a label was deleted the response is "`204 No Content`".
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 204 No Content
 | 
						|
----
 | 
						|
 | 
						|
[[batch-update-labels]]
 | 
						|
=== Batch Update Labels
 | 
						|
--
 | 
						|
'POST /projects/link:#project-name[\{project-name\}]/labels/'
 | 
						|
--
 | 
						|
 | 
						|
Creates/updates/deletes multiple label definitions in this project at once.
 | 
						|
 | 
						|
The calling user must have write access to the `refs/meta/config` branch of the
 | 
						|
project.
 | 
						|
 | 
						|
The updates must be specified in the request body as
 | 
						|
link:#batch-label-input[BatchLabelInput] entity.
 | 
						|
 | 
						|
The updates are processed in the following order:
 | 
						|
 | 
						|
1. label deletions
 | 
						|
2. label creations
 | 
						|
3. label updates
 | 
						|
 | 
						|
.Request
 | 
						|
----
 | 
						|
  POST /projects/My-Project/labels/ HTTP/1.0
 | 
						|
  Content-Type: application/json; charset=UTF-8
 | 
						|
 | 
						|
  {
 | 
						|
    "commit_message": "Update Labels",
 | 
						|
    "delete": [
 | 
						|
      "Old-Review",
 | 
						|
      "Unused-Review"
 | 
						|
    ],
 | 
						|
    "create": [
 | 
						|
      {
 | 
						|
        "name": "Foo-Review",
 | 
						|
        "values": {
 | 
						|
          " 0": "No score",
 | 
						|
          "-1": "I would prefer this is not merged as is",
 | 
						|
          "-2": "This shall not be merged",
 | 
						|
          "+1": "Looks good to me, but someone else must approve",
 | 
						|
          "+2": "Looks good to me, approved"
 | 
						|
      }
 | 
						|
    ],
 | 
						|
    "update:" {
 | 
						|
      "Bar-Review": {
 | 
						|
        "function": "MaxWithBlock"
 | 
						|
      },
 | 
						|
      "Baz-Review": {
 | 
						|
        "copy_min_score": true
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
----
 | 
						|
 | 
						|
If the label updates were done successfully the response is "`200 OK`".
 | 
						|
 | 
						|
.Response
 | 
						|
----
 | 
						|
  HTTP/1.1 200 OK
 | 
						|
----
 | 
						|
 | 
						|
 | 
						|
[[ids]]
 | 
						|
== IDs
 | 
						|
 | 
						|
[[branch-id]]
 | 
						|
=== \{branch-id\}
 | 
						|
The name of a branch or `HEAD`. The prefix `refs/heads/` can be
 | 
						|
omitted.
 | 
						|
 | 
						|
[[commit-id]]
 | 
						|
=== \{commit-id\}
 | 
						|
Commit ID.
 | 
						|
 | 
						|
[[tag-id]]
 | 
						|
=== \{tag-id\}
 | 
						|
The name of a tag. The prefix `refs/tags/` can be omitted.
 | 
						|
 | 
						|
[[dashboard-id]]
 | 
						|
=== \{dashboard-id\}
 | 
						|
The ID of a dashboard in the format '<ref>:<path>'.
 | 
						|
 | 
						|
A special dashboard ID is `default` which represents the default
 | 
						|
dashboard of a project.
 | 
						|
 | 
						|
[[label-name]]
 | 
						|
=== \{label-name\}
 | 
						|
The name of a review label.
 | 
						|
 | 
						|
[[project-name]]
 | 
						|
=== \{project-name\}
 | 
						|
The name of the project.
 | 
						|
 | 
						|
If the name ends with `.git`, the suffix will be automatically removed.
 | 
						|
 | 
						|
 | 
						|
[[json-entities]]
 | 
						|
== JSON Entities
 | 
						|
 | 
						|
[[access-check-info]]
 | 
						|
=== AccessCheckInfo
 | 
						|
 | 
						|
The `AccessCheckInfo` entity is the result of an access check.
 | 
						|
 | 
						|
[options="header",cols="1,^1,5"]
 | 
						|
|=========================================
 | 
						|
|Field Name                  ||Description
 | 
						|
|`status`                    ||The HTTP status code for the access.
 | 
						|
200 means success and 403 means denied.
 | 
						|
|`message`                   |optional|A clarifying message if `status` is not 200.
 | 
						|
|`debug_logs`                |optional|
 | 
						|
Debug logs that may help to understand why a permission is denied or allowed.
 | 
						|
|=========================================
 | 
						|
 | 
						|
[[auto_closeable_changes_check_input]]
 | 
						|
=== AutoCloseableChangesCheckInput
 | 
						|
The `AutoCloseableChangesCheckInput` entity contains options for running
 | 
						|
the link:#auto-closeable-changes-check[AutoCloseableChangesCheck].
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=============================
 | 
						|
|Field Name      ||Description
 | 
						|
|`fix`           |optional|
 | 
						|
Whether auto-closeable changes should be closed automatically.
 | 
						|
|`branch`        ||
 | 
						|
The branch for which the link:#auto-closeable-changes-check[
 | 
						|
AutoCloseableChangesCheck] should be performed. The 'refs/heads/'
 | 
						|
prefix for the branch name can be omitted.
 | 
						|
|`skip_commits`  |optional|
 | 
						|
Number of commits that should be skipped when walking the commits of
 | 
						|
the branch.
 | 
						|
|`max_commits`   |optional|
 | 
						|
Maximum number of commits to walk. If not specified this defaults to
 | 
						|
10,000 commits. 10,000 is also the maximum that can be set.
 | 
						|
Auto-closing changes is an expensive operation and the more commits
 | 
						|
are walked the slower it gets. This is why you should avoid walking too
 | 
						|
many commits.
 | 
						|
|=============================
 | 
						|
 | 
						|
[[auto_closeable_changes_check_result]]
 | 
						|
=== AutoCloseableChangesCheckResult
 | 
						|
The `AutoCloseableChangesCheckResult` entity contains the results of
 | 
						|
running the link:#auto-closeable-changes-check[AutoCloseableChangesCheck]
 | 
						|
on a project.
 | 
						|
 | 
						|
[options="header",cols="1,6"]
 | 
						|
|====================================
 | 
						|
|Field Name              |Description
 | 
						|
|`auto_closeable_changes`|
 | 
						|
Changes that can be auto-closed as list of
 | 
						|
link:rest-api-changes.html#change-info[ChangeInfo] entities. For each
 | 
						|
returned link:rest-api-changes.html#change-info[ChangeInfo] entity the
 | 
						|
`problems` field is populated that includes details about the detected
 | 
						|
issues. If `fix` in the link:#auto_closeable_changes_check_input[
 | 
						|
AutoCloseableChangesCheckInput] was set to `true`, `status` and
 | 
						|
`outcome` in link:rest-api-changes.html#problem-info[ProblemInfo] are
 | 
						|
populated. If the status says `FIXED` Gerrit was able to auto-close the
 | 
						|
change now.
 | 
						|
|====================================
 | 
						|
 | 
						|
[[ban-input]]
 | 
						|
=== BanInput
 | 
						|
The `BanInput` entity contains information for banning commits in a
 | 
						|
project.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=======================
 | 
						|
|Field Name||Description
 | 
						|
|`commits` ||List of commits to be banned.
 | 
						|
|`reason`  |optional|Reason for banning the commits.
 | 
						|
|=======================
 | 
						|
 | 
						|
[[ban-result-info]]
 | 
						|
=== BanResultInfo
 | 
						|
The `BanResultInfo` entity describes the result of banning commits.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=============================
 | 
						|
|Field Name      ||Description
 | 
						|
|`newly_banned`  |optional|List of newly banned commits.
 | 
						|
|`already_banned`|optional|List of commits that were already banned.
 | 
						|
|`ignored`       |optional|List of object IDs that were ignored.
 | 
						|
|=============================
 | 
						|
 | 
						|
[[branch-info]]
 | 
						|
=== BranchInfo
 | 
						|
The `BranchInfo` entity contains information about a branch.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=========================
 | 
						|
|Field Name  ||Description
 | 
						|
|`ref`       ||The ref of the branch.
 | 
						|
|`revision`  ||The revision to which the branch points.
 | 
						|
|`can_delete`|not set if `false`|
 | 
						|
Whether the calling user can delete this branch.
 | 
						|
|`web_links` |optional|
 | 
						|
Links to the branch in external sites as a list of
 | 
						|
link:rest-api-changes.html#web-link-info[WebLinkInfo] entries.
 | 
						|
|=========================
 | 
						|
 | 
						|
[[branch-input]]
 | 
						|
=== BranchInput
 | 
						|
The `BranchInput` entity contains information for the creation of
 | 
						|
a new branch.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=======================
 | 
						|
|Field Name||Description
 | 
						|
|`ref`     |optional|
 | 
						|
The name of the branch. The prefix `refs/heads/` can be
 | 
						|
omitted. +
 | 
						|
If set, must match the branch ID in the URL.
 | 
						|
|`revision`|optional|
 | 
						|
The base revision of the new branch. +
 | 
						|
If not set, `HEAD` will be used as base revision.
 | 
						|
|=======================
 | 
						|
 | 
						|
[[check-project-input]]
 | 
						|
=== CheckProjectInput
 | 
						|
The `CheckProjectInput` entity contains information about which
 | 
						|
consistency checks should be run on a project.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|===========================================
 | 
						|
|Field Name                    ||Description
 | 
						|
|`auto_closeable_changes_check`|optional|
 | 
						|
Parameters for the link:#auto-closeable-changes-check[
 | 
						|
AutoCloseableChangesCheck] as
 | 
						|
link:rest-api-changes.html#auto_closeable_changes_check_input[
 | 
						|
AutoCloseableChangesCheckInput] entity.
 | 
						|
|===========================================
 | 
						|
 | 
						|
[[check-project-result-info]]
 | 
						|
=== CheckProjectResultInfo
 | 
						|
The `CheckProjectResultInfo` entity contains results for consistency
 | 
						|
checks that have been run on a project.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|==================================================
 | 
						|
|Field Name                           ||Description
 | 
						|
|`auto_closeable_changes_check_result`|optional|
 | 
						|
Results for the link:#auto-closeable-changes-check[
 | 
						|
AutoCloseableChangesCheck] as
 | 
						|
link:rest-api-changes.html#auto_closeable_changes_check_result[
 | 
						|
AutoCloseableChangesCheckResult] entity.
 | 
						|
|==================================================
 | 
						|
 | 
						|
[[commentlink-info]]
 | 
						|
=== CommentLinkInfo
 | 
						|
The `CommentLinkInfo` entity describes a
 | 
						|
link:config-gerrit.html#commentlink[commentlink].
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|==================================================
 | 
						|
|Field Name |        |Description
 | 
						|
|`match`    |        |A JavaScript regular expression to match
 | 
						|
positions to be replaced with a hyperlink, as documented in
 | 
						|
link:config-gerrit.html#commentlink.name.match[commentlink.name.match].
 | 
						|
|`link`     |        |The URL to direct the user to whenever the
 | 
						|
regular expression is matched, as documented in
 | 
						|
link:config-gerrit.html#commentlink.name.link[commentlink.name.link].
 | 
						|
|`enabled`  |optional|Whether the commentlink is enabled, as documented
 | 
						|
in link:config-gerrit.html#commentlink.name.enabled[
 | 
						|
commentlink.name.enabled]. If not set the commentlink is enabled.
 | 
						|
 | 
						|
[[commentlink-input]]
 | 
						|
=== CommentLinkInput
 | 
						|
The `CommentLinkInput` entity describes the input for a
 | 
						|
link:config-gerrit.html#commentlink[commentlink].
 | 
						|
 | 
						|
|==================================================
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|==================================================
 | 
						|
|Field Name |        |Description
 | 
						|
|`match`    |        |A JavaScript regular expression to match
 | 
						|
positions to be replaced with a hyperlink, as documented in
 | 
						|
link:config-gerrit.html#commentlink.name.match[commentlink.name.match].
 | 
						|
|`link`     |        |The URL to direct the user to whenever the
 | 
						|
regular expression is matched, as documented in
 | 
						|
link:config-gerrit.html#commentlink.name.link[commentlink.name.link].
 | 
						|
|`enabled`  |optional|Whether the commentlink is enabled, as documented
 | 
						|
in link:config-gerrit.html#commentlink.name.enabled[
 | 
						|
commentlink.name.enabled]. If not set the commentlink is enabled.
 | 
						|
|==================================================
 | 
						|
 | 
						|
[[config-info]]
 | 
						|
=== ConfigInfo
 | 
						|
The `ConfigInfo` entity contains information about the effective project
 | 
						|
configuration.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=======================================================
 | 
						|
|Field Name                                ||Description
 | 
						|
|`description`                             |optional|
 | 
						|
The description of the project.
 | 
						|
|`use_contributor_agreements`              |optional|
 | 
						|
link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
 | 
						|
authors must complete a contributor agreement on the site before
 | 
						|
pushing any commits or changes to this project.
 | 
						|
|`use_content_merge`                       |optional|
 | 
						|
link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
 | 
						|
Gerrit will try to perform a 3-way merge of text file content when a
 | 
						|
file has been modified by both the destination branch and the change
 | 
						|
being submitted. This option only takes effect if submit type is not
 | 
						|
FAST_FORWARD_ONLY.
 | 
						|
|`use_signed_off_by`                       |optional|
 | 
						|
link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
 | 
						|
each change must contain a Signed-off-by line from either the author or
 | 
						|
the uploader in the commit message.
 | 
						|
|`create_new_change_for_all_not_in_target` |optional|
 | 
						|
link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
 | 
						|
a new change is created for every commit not in target branch.
 | 
						|
|`require_change_id`                       |optional|
 | 
						|
link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether a
 | 
						|
valid link:user-changeid.html[Change-Id] footer in any commit uploaded
 | 
						|
for review is required. This does not apply to commits pushed directly
 | 
						|
to a branch or tag. This property is deprecated and will be removed in
 | 
						|
a future release.
 | 
						|
|`enable_signed_push`|optional, not set if signed push is disabled|
 | 
						|
link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
 | 
						|
signed push validation is enabled on the project.
 | 
						|
|`require_signed_push`|optional, not set if signed push is disabled|
 | 
						|
link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
 | 
						|
signed push validation is required on the project.
 | 
						|
|`reject_implicit_merges`|optional|
 | 
						|
link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
 | 
						|
implicit merges should be rejected on changes pushed to the project.
 | 
						|
|`private_by_default`         ||
 | 
						|
link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
 | 
						|
all new changes are set as private by default.
 | 
						|
|`work_in_progress_by_default`||
 | 
						|
link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
 | 
						|
all new changes are set as work-in-progress by default.
 | 
						|
|`max_object_size_limit`      ||
 | 
						|
The link:config-gerrit.html#receive.maxObjectSizeLimit[max object size
 | 
						|
limit] of this project as a link:#max-object-size-limit-info[
 | 
						|
MaxObjectSizeLimitInfo] entity.
 | 
						|
|`default_submit_type`     ||
 | 
						|
link:#submit-type-info[SubmitTypeInfo] that describes the default submit type of
 | 
						|
the project, when not overridden at the change level.
 | 
						|
|`submit_type`               ||
 | 
						|
Deprecated; equivalent to link:#submit-type-info[`value`] in
 | 
						|
`default_submit_type`.
 | 
						|
|`match_author_to_committer_date` |optional|
 | 
						|
link:#inherited-boolean-info[InheritedBooleanInfo] that indicates whether
 | 
						|
a change's author date will be changed to match its submitter date upon submit.
 | 
						|
|`state`                     |optional|
 | 
						|
The state of the project, can be `ACTIVE`, `READ_ONLY` or `HIDDEN`. +
 | 
						|
Not set if the project state is `ACTIVE`.
 | 
						|
|`commentlinks`              ||
 | 
						|
Map with the comment link configurations of the project. The name of
 | 
						|
the comment link configuration is mapped to a link:#commentlink-info[
 | 
						|
CommentlinkInfo] entity.
 | 
						|
|`plugin_config`                           |optional|
 | 
						|
Plugin configuration as map which maps the plugin name to a map of
 | 
						|
parameter names to link:#config-parameter-info[ConfigParameterInfo]
 | 
						|
entities. Only filled for users who have read access to `refs/meta/config`.
 | 
						|
|`actions`                                 |optional|
 | 
						|
Actions the caller might be able to perform on this project. The
 | 
						|
information is a map of view names to
 | 
						|
|`reject_empty_commit`                     |optional|
 | 
						|
link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
 | 
						|
empty commits should be rejected when a change is merged.
 | 
						|
link:rest-api-changes.html#action-info[ActionInfo] entities.
 | 
						|
|=======================================================
 | 
						|
 | 
						|
[[config-input]]
 | 
						|
=== ConfigInput
 | 
						|
The `ConfigInput` entity describes a new project configuration.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|======================================================
 | 
						|
|Field Name                               ||Description
 | 
						|
|`description`                            |optional|
 | 
						|
The new description of the project. +
 | 
						|
If not set, the description is removed.
 | 
						|
|`use_contributor_agreements`             |optional|
 | 
						|
Whether authors must complete a contributor agreement on the site
 | 
						|
before pushing any commits or changes to this project. +
 | 
						|
Can be `TRUE`, `FALSE` or `INHERIT`. +
 | 
						|
If not set, this setting is not updated.
 | 
						|
|`use_content_merge`                       |optional|
 | 
						|
Whether Gerrit will try to perform a 3-way merge of text file content
 | 
						|
when a file has been modified by both the destination branch and the
 | 
						|
change being submitted. This option only takes effect if submit type is
 | 
						|
not FAST_FORWARD_ONLY. +
 | 
						|
Can be `TRUE`, `FALSE` or `INHERIT`. +
 | 
						|
If not set, this setting is not updated.
 | 
						|
|`use_signed_off_by`                       |optional|
 | 
						|
Whether each change must contain a Signed-off-by line from either the
 | 
						|
author or the uploader in the commit message. +
 | 
						|
Can be `TRUE`, `FALSE` or `INHERIT`. +
 | 
						|
If not set, this setting is not updated.
 | 
						|
|`create_new_change_for_all_not_in_target` |optional|
 | 
						|
Whether a new change will be created for every commit not in target
 | 
						|
branch. +
 | 
						|
Can be `TRUE`, `FALSE` or `INHERIT`. +
 | 
						|
If not set, this setting is not updated.
 | 
						|
|`require_change_id`                       |optional|
 | 
						|
Whether a valid link:user-changeid.html[Change-Id] footer in any commit
 | 
						|
uploaded for review is required. This does not apply to commits pushed
 | 
						|
directly to a branch or tag. +
 | 
						|
Can be `TRUE`, `FALSE` or `INHERIT`. +
 | 
						|
If not set, this setting is not updated.
 | 
						|
This property is deprecated and will be removed in
 | 
						|
a future release.
 | 
						|
|`reject_implicit_merges`                  |optional|
 | 
						|
Whether a check for implicit merges will be performed when changes
 | 
						|
are pushed for review. +
 | 
						|
Can be `TRUE`, `FALSE` or `INHERIT`. +
 | 
						|
If not set, this setting is not updated.
 | 
						|
|`max_object_size_limit`                   |optional|
 | 
						|
The link:config-gerrit.html#receive.maxObjectSizeLimit[max object size
 | 
						|
limit] of this project as a link:#max-object-size-limit-info[
 | 
						|
MaxObjectSizeLimitInfo] entity. +
 | 
						|
If set to `0`, the max object size limit is removed. +
 | 
						|
If not set, this setting is not updated.
 | 
						|
|`submit_type`                             |optional|
 | 
						|
The default submit type of the project, can be `MERGE_IF_NECESSARY`,
 | 
						|
`FAST_FORWARD_ONLY`, `REBASE_IF_NECESSARY`, `REBASE_ALWAYS`, `MERGE_ALWAYS` or
 | 
						|
`CHERRY_PICK`. +
 | 
						|
If not set, the submit type is not updated.
 | 
						|
|`state`                                   |optional|
 | 
						|
The state of the project, can be `ACTIVE`, `READ_ONLY` or `HIDDEN`. +
 | 
						|
Not set if the project state is `ACTIVE`. +
 | 
						|
If not set, the project state is not updated.
 | 
						|
|`plugin_config_values`                    |optional|
 | 
						|
Plugin configuration values as map which maps the plugin name to a map
 | 
						|
of parameter names to values.
 | 
						|
|`reject_empty_commit`                     |optional|
 | 
						|
Whether empty commits should be rejected when a change is merged.
 | 
						|
Can be `TRUE`, `FALSE` or `INHERIT`. +
 | 
						|
If not set, this setting is not updated.
 | 
						|
|commentlinks                              |optional|
 | 
						|
Map of commentlink names to link:#commentlink-input[CommentLinkInput]
 | 
						|
entities to add or update on the project. If the given commentlink
 | 
						|
already exists, it will be updated with the given values, otherwise
 | 
						|
it will be created. If the value is null, that entry is deleted.
 | 
						|
|======================================================
 | 
						|
 | 
						|
[[config-parameter-info]]
 | 
						|
=== ConfigParameterInfo
 | 
						|
The `ConfigParameterInfo` entity describes a project configuration
 | 
						|
parameter.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|===============================
 | 
						|
|Field Name        ||Description
 | 
						|
|`display_name`    |optional|
 | 
						|
The display name of the configuration parameter.
 | 
						|
|`description`     |optional|
 | 
						|
The description of the configuration parameter.
 | 
						|
|`warning`         |optional|
 | 
						|
Warning message for the configuration parameter.
 | 
						|
|`type`            ||
 | 
						|
The type of the configuration parameter. Can be `STRING`, `INT`,
 | 
						|
`LONG`, `BOOLEAN`, `LIST` or `ARRAY`.
 | 
						|
|`value`           |optional|
 | 
						|
The value of the configuration parameter as string. If the parameter
 | 
						|
is inheritable this is the effective value which is deduced from
 | 
						|
`configured_value` and `inherited_value`.
 | 
						|
|`values`          |optional|
 | 
						|
The list of values. Only set if the `type` is `ARRAY`.
 | 
						|
|`editable`         |`false` if not set|
 | 
						|
Whether the value is editable.
 | 
						|
|`permitted_values`|optional|
 | 
						|
The list of permitted values. Only set if the `type` is `LIST`.
 | 
						|
|`inheritable`     |`false` if not set|
 | 
						|
Whether the configuration parameter can be inherited.
 | 
						|
|`configured_value`|optional|
 | 
						|
The value of the configuration parameter that is configured on this
 | 
						|
project, only set if `inheritable` is true.
 | 
						|
|`inherited_value` |optional|
 | 
						|
The inherited value of the configuration parameter, only set if
 | 
						|
`inheritable` is true.
 | 
						|
|===============================
 | 
						|
 | 
						|
[[dashboard-info]]
 | 
						|
=== DashboardInfo
 | 
						|
The `DashboardInfo` entity contains information about a project
 | 
						|
dashboard.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|===============================
 | 
						|
|Field Name        ||Description
 | 
						|
|`id`              ||
 | 
						|
The ID of the dashboard. The ID has the format '<ref>:<path>',
 | 
						|
where ref and path are URL encoded.
 | 
						|
|`project`         ||
 | 
						|
The name of the project for which this dashboard is returned.
 | 
						|
|`defining_project`||
 | 
						|
The name of the project in which this dashboard is defined.
 | 
						|
This is different from `project` if the dashboard is inherited from a
 | 
						|
parent project.
 | 
						|
|`ref`             ||
 | 
						|
The name of the ref in which the dashboard is defined, without the
 | 
						|
`refs/meta/dashboards/` prefix, which is common for all dashboard refs.
 | 
						|
|`path`            ||
 | 
						|
The path of the file in which the dashboard is defined.
 | 
						|
|`description`     |optional|The description of the dashboard.
 | 
						|
|`foreach`         |optional|
 | 
						|
Subquery that applies to all sections in the dashboard. +
 | 
						|
Tokens such as `${project}` are not resolved.
 | 
						|
|`url`             ||
 | 
						|
The URL under which the dashboard can be opened in the Gerrit Web UI. +
 | 
						|
The URL is relative to the canonical web URL. +
 | 
						|
Tokens in the queries such as `${project}` are resolved.
 | 
						|
|`is_default`      |not set if `false`|
 | 
						|
Whether this is the default dashboard of the project.
 | 
						|
|`title`           |optional|The title of the dashboard.
 | 
						|
|`sections`        ||
 | 
						|
The list of link:#dashboard-section-info[sections] in the dashboard.
 | 
						|
|===============================
 | 
						|
 | 
						|
[[dashboard-input]]
 | 
						|
=== DashboardInput
 | 
						|
The `DashboardInput` entity contains information to create/update a
 | 
						|
project dashboard.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=============================
 | 
						|
|Field Name      ||Description
 | 
						|
|`id`            |optional|
 | 
						|
URL encoded ID of a dashboard to which this dashboard should link to.
 | 
						|
|`commit_message`|optional|
 | 
						|
Message that should be used to commit the change of the dashboard.
 | 
						|
|=============================
 | 
						|
 | 
						|
[[dashboard-section-info]]
 | 
						|
=== DashboardSectionInfo
 | 
						|
The `DashboardSectionInfo` entity contains information about a section
 | 
						|
in a dashboard.
 | 
						|
 | 
						|
[options="header",cols="1,6"]
 | 
						|
|===========================
 | 
						|
|Field Name    |Description
 | 
						|
|`name`        |The title of the section.
 | 
						|
|`query`       |The query of the section. +
 | 
						|
Tokens such as `${project}` are not resolved.
 | 
						|
|===========================
 | 
						|
 | 
						|
[[delete-label-input]]
 | 
						|
=== DeleteLabelInput
 | 
						|
The `DeleteLabelInput` entity contains information for deleting a label
 | 
						|
definition in a project.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=============================
 | 
						|
|Field Name      ||Description
 | 
						|
|`commit_message`|optional|
 | 
						|
Message that should be used to commit the deletion of the label in the
 | 
						|
`project.config` file to the `refs/meta/config` branch.
 | 
						|
|=============================
 | 
						|
 | 
						|
[[delete-branches-input]]
 | 
						|
=== DeleteBranchesInput
 | 
						|
The `DeleteBranchesInput` entity contains information about branches that should
 | 
						|
be deleted.
 | 
						|
 | 
						|
[options="header",width="50%",cols="1,6"]
 | 
						|
|==========================
 | 
						|
|Field Name   |Description
 | 
						|
|`branches`   |A list of branch names that identify the branches that should be
 | 
						|
deleted.
 | 
						|
|==========================
 | 
						|
 | 
						|
[[delete-tags-input]]
 | 
						|
=== DeleteTagsInput
 | 
						|
The `DeleteTagsInput` entity contains information about tags that should
 | 
						|
be deleted.
 | 
						|
 | 
						|
[options="header",width="50%",cols="1,6"]
 | 
						|
|==========================
 | 
						|
|Field Name   |Description
 | 
						|
|`tags`       |A list of tag names that identify the tags that should be
 | 
						|
deleted.
 | 
						|
|==========================
 | 
						|
 | 
						|
[[gc-input]]
 | 
						|
=== GCInput
 | 
						|
The `GCInput` entity contains information to run the Git garbage
 | 
						|
collection.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=============================
 | 
						|
|Field Name      ||Description
 | 
						|
|`show_progress` |`false` if not set|
 | 
						|
Whether progress information should be shown.
 | 
						|
|`aggressive`    |`false` if not set|
 | 
						|
Whether an aggressive garbage collection should be done.
 | 
						|
|`async`         |`false` if not set|
 | 
						|
Whether the garbage collection should run asynchronously.
 | 
						|
|=============================
 | 
						|
 | 
						|
[[head-input]]
 | 
						|
=== HeadInput
 | 
						|
The `HeadInput` entity contains information for setting `HEAD` for a
 | 
						|
project.
 | 
						|
 | 
						|
[options="header",cols="1,6"]
 | 
						|
|============================
 | 
						|
|Field Name      |Description
 | 
						|
|`ref`           |
 | 
						|
The ref to which `HEAD` should be set, the `refs/heads` prefix can be
 | 
						|
omitted.
 | 
						|
|============================
 | 
						|
 | 
						|
[[index-project-input]]
 | 
						|
=== IndexProjectInput
 | 
						|
The `IndexProjectInput` contains parameters for indexing a project.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|================================
 | 
						|
|Field Name         ||Description
 | 
						|
|`index_children`   ||
 | 
						|
If children should be indexed recursively.
 | 
						|
|`async`            ||
 | 
						|
If projects should be indexed asynchronously.
 | 
						|
|================================
 | 
						|
 | 
						|
[[inherited-boolean-info]]
 | 
						|
=== InheritedBooleanInfo
 | 
						|
A boolean value that can also be inherited.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|================================
 | 
						|
|Field Name         ||Description
 | 
						|
|`value`            ||
 | 
						|
The effective boolean value.
 | 
						|
|`configured_value` ||
 | 
						|
The configured value, can be `TRUE`, `FALSE` or `INHERITED`.
 | 
						|
|`inherited_value`  |optional|
 | 
						|
The boolean value inherited from the parent. +
 | 
						|
Not set if there is no parent.
 | 
						|
|================================
 | 
						|
 | 
						|
[[label-definition-info]]
 | 
						|
=== LabelDefinitionInfo
 | 
						|
The `LabelDefinitionInfo` entity describes a link:config-labels.html[
 | 
						|
review label].
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=============================
 | 
						|
|Field Name      ||Description
 | 
						|
|`name`          ||
 | 
						|
The link:config-labels.html#label_name[name] of the label.
 | 
						|
|`project_name`  ||
 | 
						|
The name of the project in which this label is defined.
 | 
						|
|`function`      ||
 | 
						|
The link:config-labels.html#label_function[function] of the label (can be
 | 
						|
`MaxWithBlock`, `AnyWithBlock`, `MaxNoBlock`, `NoBlock`, `NoOp` and `PatchSetLock`.
 | 
						|
|`values`        ||
 | 
						|
The link:config-labels.html#label_value[values] of the label as a map of label
 | 
						|
value to value description. The label values are formatted strings, e.g. "+1"
 | 
						|
instead of "1", " 0" instead of "0".
 | 
						|
|`default_value` ||
 | 
						|
The link:config-labels.html#label_defaultValue[default value] of the label (as
 | 
						|
integer).
 | 
						|
|`branches`      |optional|
 | 
						|
A list of link:config-labels.html#label_branch[branches] for which the label
 | 
						|
applies. A branch can be a ref, a ref pattern or a regular expression. If not
 | 
						|
set, the label applies for all branches.
 | 
						|
|`can_override`  |`false` if not set|
 | 
						|
Whether this label can be link:config-labels.html#label_canOverride[overridden]
 | 
						|
by child projects.
 | 
						|
|`copy_any_score`|`false` if not set|
 | 
						|
Whether link:config-labels.html#label_copyAnyScore[copyAnyScore] is set on the
 | 
						|
label.
 | 
						|
|`copy_min_score`|`false` if not set|
 | 
						|
Whether link:config-labels.html#label_copyMinScore[copyMinScore] is set on the
 | 
						|
label.
 | 
						|
|`copy_max_score`|`false` if not set|
 | 
						|
Whether link:config-labels.html#label_copyMaxScore[copyMaxScore] is set on the
 | 
						|
label.
 | 
						|
|`copy_all_scores_if_no_change`|`false` if not set|
 | 
						|
Whether link:config-labels.html#label_copyAllScoresIfNoChange[
 | 
						|
copyAllScoresIfNoChange] is set on the label.
 | 
						|
|`copy_all_scores_if_no_code_change`|`false` if not set|
 | 
						|
Whether link:config-labels.html#label_copyAllScoresIfNoCodeChange[
 | 
						|
copyAllScoresIfNoCodeChange] is set on the label.
 | 
						|
|`copy_all_scores_on_trivial_rebase`|`false` if not set|
 | 
						|
Whether link:config-labels.html#label_copyAllScoresOnTrivialRebase[
 | 
						|
copyAllScoresOnTrivialRebase] is set on the label.
 | 
						|
|`copy_all_scores_if_list_of_files_did_not_change`|`false` if not set|
 | 
						|
Whether link:config-labels.html#label_copyAllScoresIfListOfFilesDidNotChange[
 | 
						|
copyAllScoresIfListOfFilesDidNotChange] is set on the label.
 | 
						|
|`copy_all_scores_on_merge_first_parent_update`|`false` if not set|
 | 
						|
Whether link:config-labels.html#label_copyAllScoresOnMergeFirstParentUpdate[
 | 
						|
copyAllScoresOnMergeFirstParentUpdate] is set on the label.
 | 
						|
|`copy_values`   |optional|
 | 
						|
List of values that should be copied forward when a new patch set is uploaded.
 | 
						|
|`allow_post_submit`|`false` if not set|
 | 
						|
Whether link:config-labels.html#label_allowPostSubmit[allowPostSubmit] is set
 | 
						|
on the label.
 | 
						|
|`ignore_self_approval`|`false` if not set|
 | 
						|
Whether link:config-labels.html#label_ignoreSelfApproval[ignoreSelfApproval] is
 | 
						|
set on the label.
 | 
						|
|=============================
 | 
						|
 | 
						|
[[label-definition-input]]
 | 
						|
=== LabelDefinitionInput
 | 
						|
The `LabelDefinitionInput` entity describes a link:config-labels.html[
 | 
						|
review label].
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=============================
 | 
						|
|Field Name      ||Description
 | 
						|
|`commit_message`|optional|
 | 
						|
Message that should be used to commit the change of the label in the
 | 
						|
`project.config` file to the `refs/meta/config` branch.+
 | 
						|
Must not be set if this `LabelDefinitionInput` entity is contained in a
 | 
						|
link:#batch-label-input[BatchLabelInput] entity.
 | 
						|
|`name`          |optional|
 | 
						|
The new link:config-labels.html#label_name[name] of the label.+
 | 
						|
For label creation the name is required if this `LabelDefinitionInput` entity
 | 
						|
is contained in a link:#batch-label-input[BatchLabelInput]
 | 
						|
entity.
 | 
						|
|`function`      |optional|
 | 
						|
The new link:config-labels.html#label_function[function] of the label (can be
 | 
						|
`MaxWithBlock`, `AnyWithBlock`, `MaxNoBlock`, `NoBlock`, `NoOp` and `PatchSetLock`.
 | 
						|
|`values`        |optional|
 | 
						|
The new link:config-labels.html#label_value[values] of the label as a map of
 | 
						|
label value to value description. The label values are formatted strings, e.g.
 | 
						|
"+1" instead of "1", " 0" instead of "0".
 | 
						|
|`default_value` |optional|
 | 
						|
The new link:config-labels.html#label_defaultValue[default value] of the label
 | 
						|
(as integer).
 | 
						|
|`branches`      |optional|
 | 
						|
The new branches for which the label applies as a list of
 | 
						|
link:config-labels.html#label_branch[branches]. A branch can be a ref, a ref
 | 
						|
pattern or a regular expression. If not set, the label applies for all
 | 
						|
branches.
 | 
						|
|`can_override`  |optional|
 | 
						|
Whether this label can be link:config-labels.html#label_canOverride[overridden]
 | 
						|
by child projects.
 | 
						|
|`copy_any_score`|optional|
 | 
						|
Whether link:config-labels.html#label_copyAnyScore[copyAnyScore] is set on the
 | 
						|
label.
 | 
						|
|`copy_min_score`|optional|
 | 
						|
Whether link:config-labels.html#label_copyMinScore[copyMinScore] is set on the
 | 
						|
label.
 | 
						|
|`copy_max_score`|optional|
 | 
						|
Whether link:config-labels.html#label_copyMaxScore[copyMaxScore] is set on the
 | 
						|
label.
 | 
						|
|`copy_all_scores_if_no_change`|optional|
 | 
						|
Whether link:config-labels.html#label_copyAllScoresIfNoChange[
 | 
						|
copyAllScoresIfNoChange] is set on the label.
 | 
						|
|`copy_all_scores_if_no_code_change`|optional|
 | 
						|
Whether link:config-labels.html#label_copyAllScoresIfNoCodeChange[
 | 
						|
copyAllScoresIfNoCodeChange] is set on the label.
 | 
						|
|`copy_all_scores_on_trivial_rebase`|optional|
 | 
						|
Whether link:config-labels.html#label_copyAllScoresOnTrivialRebase[
 | 
						|
copyAllScoresOnTrivialRebase] is set on the label.
 | 
						|
|`copy_all_scores_if_list_of_files_did_not_change`|optional|
 | 
						|
Whether link:config-labels.html#label_copyAllScoresIfListOfFilesDidNotChange[
 | 
						|
copyAllScoresIfListOfFilesDidNotChange] is set on the label.
 | 
						|
|`copy_all_scores_on_merge_first_parent_update`|optional|
 | 
						|
Whether link:config-labels.html#label_copyAllScoresOnMergeFirstParentUpdate[
 | 
						|
copyAllScoresOnMergeFirstParentUpdate] is set on the label.
 | 
						|
|`copy_values`   |optional|
 | 
						|
List of values that should be copied forward when a new patch set is uploaded.
 | 
						|
|`allow_post_submit`|optional|
 | 
						|
Whether link:config-labels.html#label_allowPostSubmit[allowPostSubmit] is set
 | 
						|
on the label.
 | 
						|
|`ignore_self_approval`|optional|
 | 
						|
Whether link:config-labels.html#label_ignoreSelfApproval[ignoreSelfApproval] is
 | 
						|
set on the label.
 | 
						|
|=============================
 | 
						|
 | 
						|
[[label-type-info]]
 | 
						|
=== LabelTypeInfo
 | 
						|
The `LabelTypeInfo` entity contains metadata about the labels that a
 | 
						|
project has.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|================================
 | 
						|
|Field Name         ||Description
 | 
						|
|`values`           ||Map of the available values to their description.
 | 
						|
|`default_value`    ||The default value of this label.
 | 
						|
|================================
 | 
						|
 | 
						|
[[max-object-size-limit-info]]
 | 
						|
=== MaxObjectSizeLimitInfo
 | 
						|
The `MaxObjectSizeLimitInfo` entity contains information about the
 | 
						|
link:config-gerrit.html#receive.maxObjectSizeLimit[max object size
 | 
						|
limit] of a project.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|===============================
 | 
						|
|Field Name        ||Description
 | 
						|
|`value`           |optional|
 | 
						|
The effective value in bytes of the max object size limit. +
 | 
						|
Not set if there is no limit for the object size.
 | 
						|
|`configured_value`|optional|
 | 
						|
The max object size limit that is configured on the project as a
 | 
						|
formatted string. +
 | 
						|
Not set if there is no limit for the object size configured on project
 | 
						|
level.
 | 
						|
|`summary`         |optional|
 | 
						|
A string describing whether the value was inherited or overridden from
 | 
						|
the parent project or global config. +
 | 
						|
Not set if not inherited or overridden.
 | 
						|
|===============================
 | 
						|
 | 
						|
[[batch-label-input]]
 | 
						|
=== BatchLabelInput
 | 
						|
The `BatchLabelInput` entity contains information for batch updating label
 | 
						|
definitions in a project.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=============================
 | 
						|
|Field Name      ||Description
 | 
						|
|`commit_message`|optional|
 | 
						|
Message that should be used to commit the label updates in the
 | 
						|
`project.config` file to the `refs/meta/config` branch.
 | 
						|
|`delete`        |optional|
 | 
						|
List of labels that should be deleted.
 | 
						|
|`create`        |optional|
 | 
						|
List of link:#label-definition-input[LabelDefinitionInput] entities that
 | 
						|
describe labels that should be created.
 | 
						|
|`update`        |optional|
 | 
						|
Map of label names to link:#label-definition-input[LabelDefinitionInput]
 | 
						|
entities that describe the updates that should be done for the labels.
 | 
						|
|=============================
 | 
						|
 | 
						|
[[project-access-input]]
 | 
						|
=== ProjectAccessInput
 | 
						|
The `ProjectAccessInput` describes changes that should be applied to a project
 | 
						|
access config.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=============================
 | 
						|
|Field Name          |        |Description
 | 
						|
|`remove`            |optional|
 | 
						|
A list of deductions to be applied to the project access as
 | 
						|
link:rest-api-access.html#project-access-info[ProjectAccessInfo] entities.
 | 
						|
|`add`               |optional|
 | 
						|
A list of additions to be applied to the project access as
 | 
						|
link:rest-api-access.html#project-access-info[ProjectAccessInfo] entities.
 | 
						|
|`message`           |optional|
 | 
						|
A commit message for this change.
 | 
						|
|`parent`            |optional|
 | 
						|
A new parent for the project to inherit from. Changing the parent project
 | 
						|
requires administrative privileges.
 | 
						|
|=============================
 | 
						|
 | 
						|
[[project-description-input]]
 | 
						|
=== ProjectDescriptionInput
 | 
						|
The `ProjectDescriptionInput` entity contains information for setting a
 | 
						|
project description.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=============================
 | 
						|
|Field Name      ||Description
 | 
						|
|`description`   |optional|The project description. +
 | 
						|
The project description will be deleted if not set.
 | 
						|
|`commit_message`|optional|
 | 
						|
Message that should be used to commit the change of the project
 | 
						|
description in the `project.config` file to the `refs/meta/config`
 | 
						|
branch.
 | 
						|
|=============================
 | 
						|
 | 
						|
[[project-info]]
 | 
						|
=== ProjectInfo
 | 
						|
The `ProjectInfo` entity contains information about a project.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|===========================
 | 
						|
|Field Name    ||Description
 | 
						|
|`id`          ||The URL encoded project name.
 | 
						|
|`name`        |
 | 
						|
not set if returned in a map where the project name is used as map key|
 | 
						|
The name of the project.
 | 
						|
|`parent`      |optional|
 | 
						|
The name of the parent project. +
 | 
						|
`?-<n>` if the parent project is not visible (`<n>` is a number which
 | 
						|
is increased for each non-visible project).
 | 
						|
|`description` |optional|The description of the project.
 | 
						|
|`state`       |optional|`ACTIVE`, `READ_ONLY` or `HIDDEN`.
 | 
						|
|`branches`    |optional|Map of branch names to HEAD revisions.
 | 
						|
|`labels`      |optional|
 | 
						|
Map of label names to
 | 
						|
link:#label-type-info[LabelTypeInfo] entries.
 | 
						|
This field is filled for link:#create-project[Create Project] and
 | 
						|
link:#get-project[Get Project] calls.
 | 
						|
|`web_links`   |optional|
 | 
						|
Links to the project in external sites as a list of
 | 
						|
link:rest-api-changes.html#web-link-info[WebLinkInfo] entries.
 | 
						|
|===========================
 | 
						|
 | 
						|
[[project-input]]
 | 
						|
=== ProjectInput
 | 
						|
The `ProjectInput` entity contains information for the creation of
 | 
						|
a new project.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=========================================
 | 
						|
|Field Name                  ||Description
 | 
						|
|`name`                      |optional|
 | 
						|
The name of the project (not encoded). +
 | 
						|
If set, must match the project name in the URL. +
 | 
						|
If name ends with `.git` the suffix will be automatically removed.
 | 
						|
|`parent`                    |optional|
 | 
						|
The name of the parent project. +
 | 
						|
If not set, the `All-Projects` project will be the parent project.
 | 
						|
|`description`               |optional|The description of the project.
 | 
						|
|`permissions_only`          |`false` if not set|
 | 
						|
Whether a permission-only project should be created.
 | 
						|
|`create_empty_commit`       |`false` if not set|
 | 
						|
Whether an empty initial commit should be created.
 | 
						|
|`submit_type`               |optional|
 | 
						|
The submit type that should be set for the project
 | 
						|
(`MERGE_IF_NECESSARY`, `REBASE_IF_NECESSARY`, `REBASE_ALWAYS`,
 | 
						|
`FAST_FORWARD_ONLY`, `MERGE_ALWAYS`, `CHERRY_PICK`). +
 | 
						|
If not set, `MERGE_IF_NECESSARY` is set as submit type unless
 | 
						|
link:config-gerrit.html#repository.name.defaultSubmitType[
 | 
						|
repository.<name>.defaultSubmitType] is set to a different value.
 | 
						|
|`branches`                  |optional|
 | 
						|
A list of branches that should be initially created. +
 | 
						|
For the branch names the `refs/heads/` prefix can be omitted. +
 | 
						|
The first entry of the list will be the
 | 
						|
link:project-configuration.html#default-branch[default branch]. +
 | 
						|
If the list is empty, link:config-gerrit.html#gerrit.defaultBranch[host-level default]
 | 
						|
is used. +
 | 
						|
Branches in the Gerrit internal ref space are not allowed, such as
 | 
						|
refs/groups/, refs/changes/, etc...
 | 
						|
|`owners`                    |optional|
 | 
						|
A list of groups that should be assigned as project owner. +
 | 
						|
Each group in the list must be specified as
 | 
						|
link:rest-api-groups.html#group-id[group-id]. +
 | 
						|
If not set, the link:config-gerrit.html#repository.name.ownerGroup[
 | 
						|
groups that are configured as default owners] are set as project
 | 
						|
owners.
 | 
						|
|`use_contributor_agreements`                  |`INHERIT` if not set|
 | 
						|
Whether contributor agreements should be used for the project  (`TRUE`,
 | 
						|
`FALSE`, `INHERIT`).
 | 
						|
|`use_signed_off_by`                           |`INHERIT` if not set|
 | 
						|
Whether the usage of 'Signed-Off-By' footers is required for the
 | 
						|
project (`TRUE`, `FALSE`, `INHERIT`).
 | 
						|
|`create_new_change_for_all_not_in_target`     |`INHERIT` if not set|
 | 
						|
Whether a new change is created for every commit not in target branch
 | 
						|
for the project (`TRUE`, `FALSE`, `INHERIT`).
 | 
						|
|`use_content_merge`                           |`INHERIT` if not set|
 | 
						|
Whether content merge should be enabled for the project (`TRUE`,
 | 
						|
`FALSE`, `INHERIT`). +
 | 
						|
`FALSE`, if the `submit_type` is `FAST_FORWARD_ONLY`.
 | 
						|
|`require_change_id`                           |`INHERIT` if not set|
 | 
						|
Whether the usage of Change-Ids is required for the project (`TRUE`,
 | 
						|
`FALSE`, `INHERIT`).
 | 
						|
This property is deprecated and will be removed in
 | 
						|
a future release.
 | 
						|
|`enable_signed_push`                           |`INHERIT` if not set|
 | 
						|
Whether signed push validation is enabled on the project  (`TRUE`,
 | 
						|
`FALSE`, `INHERIT`).
 | 
						|
|`require_signed_push`                          |`INHERIT` if not set|
 | 
						|
Whether signed push validation is required on the project  (`TRUE`,
 | 
						|
`FALSE`, `INHERIT`).
 | 
						|
|`max_object_size_limit`     |optional|
 | 
						|
Max allowed Git object size for this project.
 | 
						|
Common unit suffixes of 'k', 'm', or 'g' are supported.
 | 
						|
|`plugin_config_values`      |optional|
 | 
						|
Plugin configuration values as map which maps the plugin name to a map
 | 
						|
of parameter names to values.
 | 
						|
|`reject_empty_commit`       |optional|
 | 
						|
Whether empty commits should be rejected when a change is merged
 | 
						|
(`TRUE`, `FALSE`, `INHERIT`).
 | 
						|
|=========================================
 | 
						|
 | 
						|
[[project-parent-input]]
 | 
						|
=== ProjectParentInput
 | 
						|
The `ProjectParentInput` entity contains information for setting a
 | 
						|
project parent.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=============================
 | 
						|
|Field Name      ||Description
 | 
						|
|`parent`        ||The name of the parent project.
 | 
						|
|`commit_message`|optional|
 | 
						|
Message that should be used to commit the change of the project parent
 | 
						|
in the `project.config` file to the `refs/meta/config` branch.
 | 
						|
|=============================
 | 
						|
 | 
						|
[[reflog-entry-info]]
 | 
						|
=== ReflogEntryInfo
 | 
						|
The `ReflogEntryInfo` entity describes an entry in a reflog.
 | 
						|
 | 
						|
[options="header",cols="1,6"]
 | 
						|
|============================
 | 
						|
|Field Name      |Description
 | 
						|
|`old_id`        |The old commit ID.
 | 
						|
|`new_id`        |The new commit ID.
 | 
						|
|`who`           |
 | 
						|
The user performing the change as a
 | 
						|
link:rest-api-changes.html#git-person-info[GitPersonInfo] entity.
 | 
						|
|`comment`       |Comment of the reflog entry.
 | 
						|
|============================
 | 
						|
 | 
						|
[[repository-statistics-info]]
 | 
						|
=== RepositoryStatisticsInfo
 | 
						|
The `RepositoryStatisticsInfo` entity contains information about
 | 
						|
statistics of a Git repository.
 | 
						|
 | 
						|
[options="header",cols="1,6"]
 | 
						|
|======================================
 | 
						|
|Field Name                |Description
 | 
						|
|`number_of_loose_objects` |Number of loose objects.
 | 
						|
|`number_of_loose_refs`    |Number of loose refs.
 | 
						|
|`number_of_pack_files`    |Number of pack files.
 | 
						|
|`number_of_packed_objects`|Number of packed objects.
 | 
						|
|`number_of_packed_refs`   |Number of packed refs.
 | 
						|
|`size_of_loose_objects`   |Size of loose objects in bytes.
 | 
						|
|`size_of_packed_objects`  |Size of packed objects in bytes.
 | 
						|
|======================================
 | 
						|
 | 
						|
[[submit-type-info]]
 | 
						|
=== SubmitTypeInfo
 | 
						|
Information about the link:config-project-config.html#submit-type[default submit
 | 
						|
type of a project], taking into account project inheritance.
 | 
						|
 | 
						|
Valid values for each field are `MERGE_IF_NECESSARY`, `FAST_FORWARD_ONLY`,
 | 
						|
`REBASE_IF_NECESSARY`, `REBASE_ALWAYS`, `MERGE_ALWAYS` or `CHERRY_PICK`, plus
 | 
						|
`INHERIT` where applicable.
 | 
						|
 | 
						|
[options="header",cols="1,6"]
 | 
						|
|===============================
 | 
						|
|Field Name         |Description
 | 
						|
|`value`            |
 | 
						|
The effective submit type value. Never `INHERIT`.
 | 
						|
|`configured_value` |
 | 
						|
The configured value, can be one of the submit types, or `INHERIT` to inherit
 | 
						|
from the parent project.
 | 
						|
|`inherited_value`  |
 | 
						|
The effective value that would be inherited from the parent. Never `INHERIT`.
 | 
						|
|===============================
 | 
						|
 | 
						|
[[tag-info]]
 | 
						|
=== TagInfo
 | 
						|
The `TagInfo` entity contains information about a tag.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=========================
 | 
						|
|Field Name  ||Description
 | 
						|
|`ref`       ||The ref of the tag.
 | 
						|
|`revision`  ||For lightweight tags, the revision of the commit to which the tag
 | 
						|
points. For annotated tags, the revision of the tag object.
 | 
						|
|`object`|Only set for annotated tags.|The revision of the object to which the
 | 
						|
tag points.
 | 
						|
|`message`|Only set for annotated tags.|The tag message. For signed tags, includes
 | 
						|
the signature.
 | 
						|
|`tagger`|Only set for annotated tags, if present in the tag.|The tagger as a
 | 
						|
link:rest-api-changes.html#git-person-info[GitPersonInfo] entity.
 | 
						|
|`created`|optional|The link:rest-api.html#timestamp[timestamp] of when the tag
 | 
						|
was created. For annotated and signed tags, this is the timestamp of the tag object
 | 
						|
and is the same as the `date` field in the `tagger`. For lightweight tags, it is
 | 
						|
the commit timestamp of the commit to which the tag points, when the object is a
 | 
						|
commit. It is not set when the object is any other type.
 | 
						|
|`can_delete`|not set if `false`|
 | 
						|
Whether the calling user can delete this tag.
 | 
						|
|`web_links` |optional|
 | 
						|
Links to the tag in external sites as a list of
 | 
						|
link:rest-api-changes.html#web-link-info[WebLinkInfo] entries.
 | 
						|
|=========================
 | 
						|
 | 
						|
[[tag-input]]
 | 
						|
=== TagInput
 | 
						|
 | 
						|
The `TagInput` entity contains information for creating a tag.
 | 
						|
 | 
						|
[options="header",cols="1,^2,4"]
 | 
						|
|=========================
 | 
						|
|Field Name  ||Description
 | 
						|
|`ref`       ||The name of the tag. The leading `refs/tags/` is optional.
 | 
						|
|`revision`  |optional|The revision to which the tag should point. If not
 | 
						|
specified, the project's `HEAD` will be used.
 | 
						|
|`message`   |optional|The tag message. When set, the tag will be created
 | 
						|
as an annotated tag.
 | 
						|
|=========================
 | 
						|
 | 
						|
 | 
						|
GERRIT
 | 
						|
------
 | 
						|
Part of link:index.html[Gerrit Code Review]
 | 
						|
 | 
						|
SEARCHBOX
 | 
						|
---------
 |