blob: 3baaaa810fae4a4808b01e87df0ed93de4b6d222 [file] [log] [blame]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001= Gerrit Code Review - /projects/ REST API
Edwin Kempind0a63922013-01-23 16:32:59 +01002
3This page describes the project related REST endpoints.
4Please also take note of the general information on the
5link:rest-api.html[REST API].
6
Edwin Kempinc3fe3cb2013-02-13 15:09:23 +01007[[project-endpoints]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08008== Project Endpoints
Edwin Kempinc3fe3cb2013-02-13 15:09:23 +01009
Edwin Kempin76202742013-02-15 13:51:50 +010010[[list-projects]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -080011=== List Projects
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -080012--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +010013'GET /projects/'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -080014--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +010015
Edwin Kempind0a63922013-01-23 16:32:59 +010016Lists the projects accessible by the caller. This is the same as
17using the link:cmd-ls-projects.html[ls-projects] command over SSH,
18and accepts the same options as query parameters.
19
Edwin Kempin51a6dc92013-02-04 15:43:59 +010020As result a map is returned that maps the project names to
21link:#project-info[ProjectInfo] entries. The entries in the map are sorted
22by project name.
23
Edwin Kempin37440832013-02-06 11:36:00 +010024.Request
Edwin Kempind0a63922013-01-23 16:32:59 +010025----
26 GET /projects/?d HTTP/1.0
Edwin Kempin37440832013-02-06 11:36:00 +010027----
Edwin Kempind0a63922013-01-23 16:32:59 +010028
Edwin Kempin37440832013-02-06 11:36:00 +010029.Response
30----
Edwin Kempind0a63922013-01-23 16:32:59 +010031 HTTP/1.1 200 OK
32 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +090033 Content-Type: application/json; charset=UTF-8
Edwin Kempind0a63922013-01-23 16:32:59 +010034
35 )]}'
36 {
37 "external/bison": {
Edwin Kempind0a63922013-01-23 16:32:59 +010038 "id": "external%2Fbison",
39 "description": "GNU parser generator"
40 },
41 "external/gcc": {
Edwin Kempin068511b2015-01-20 09:17:12 +010042 "id": "external%2Fgcc"
Edwin Kempind0a63922013-01-23 16:32:59 +010043 },
44 "external/openssl": {
Edwin Kempind0a63922013-01-23 16:32:59 +010045 "id": "external%2Fopenssl",
46 "description": "encryption\ncrypto routines"
47 },
48 "test": {
Edwin Kempind0a63922013-01-23 16:32:59 +010049 "id": "test",
50 "description": "\u003chtml\u003e is escaped"
51 }
52 }
53----
54
Hugo Arèsbdd7f682014-07-08 10:57:52 -040055[[project-options]]
56==== Project Options
57
58Branch(b)::
59Limit the results to the projects having the specified branch and
60include the sha1 of the branch in the results.
61+
62Get projects that have a 'master' branch:
63+
64.Request
65----
66GET /projects/?b=master HTTP/1.0
67----
68+
69.Response
70----
71 HTTP/1.1 200 OK
72 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +090073 Content-Type: application/json; charset=UTF-8
Hugo Arèsbdd7f682014-07-08 10:57:52 -040074
75 )]}'
76 {
77 "some-project": {
78 "id": "some-project",
79 "branches": {
80 "master": "c5ed9dfcbf002ca0e432d788dab6ca2387829ca7"
81 }
82 },
83 "some-other-project": {
84 "id": "some-other-project",
85 "branches": {
86 "master": "ef1c270142f9581ecf768f4193fc8f8a81102ec2"
87 }
88 },
89 }
90----
91
92Description(d)::
93Include project description in the results.
94+
95Get all the projects with their description:
96+
97.Request
98----
99GET /projects/?d HTTP/1.0
100----
101+
102.Response
103----
104 HTTP/1.1 200 OK
105 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900106 Content-Type: application/json; charset=UTF-8
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400107
108 )]}'
109 {
110 "some-project": {
111 "id": "some-project",
112 "description": "Description of some project."
113 },
114 "some-other-project": {
115 "id": "some-other-project",
116 "description": "Description of some other project."
117 }
118 },
119 }
120----
121
122Limit(n)::
123Limit the number of projects to be included in the results.
124+
125Query the first project in the project list:
126+
127.Request
128----
129 GET /projects/?n=1 HTTP/1.0
130----
131+
132.Response
133----
134 HTTP/1.1 200 OK
135 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900136 Content-Type: application/json; charset=UTF-8
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400137
138 )]}'
139 {
140 "some-project": {
141 "id": "some-project"
142 }
143 }
144----
145
Edwin Kempina64c4b92013-01-23 11:30:40 +0100146
Edwin Kempind0a63922013-01-23 16:32:59 +0100147[[suggest-projects]]
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400148Prefix(p)::
149Limit the results to those projects that start with the specified
Edwin Kempind0a63922013-01-23 16:32:59 +0100150prefix.
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400151+
Edwin Kempind0a63922013-01-23 16:32:59 +0100152List all projects that start with `platform/`:
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400153+
Edwin Kempin37440832013-02-06 11:36:00 +0100154.Request
Edwin Kempind0a63922013-01-23 16:32:59 +0100155----
156 GET /projects/?p=platform%2F HTTP/1.0
Edwin Kempin37440832013-02-06 11:36:00 +0100157----
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400158+
Edwin Kempin37440832013-02-06 11:36:00 +0100159.Response
160----
Edwin Kempind0a63922013-01-23 16:32:59 +0100161 HTTP/1.1 200 OK
162 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900163 Content-Type: application/json; charset=UTF-8
Edwin Kempind0a63922013-01-23 16:32:59 +0100164
165 )]}'
166 {
167 "platform/drivers": {
Edwin Kempin068511b2015-01-20 09:17:12 +0100168 "id": "platform%2Fdrivers"
Edwin Kempind0a63922013-01-23 16:32:59 +0100169 },
170 "platform/tools": {
Edwin Kempin068511b2015-01-20 09:17:12 +0100171 "id": "platform%2Ftools"
Edwin Kempind0a63922013-01-23 16:32:59 +0100172 }
173 }
174----
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400175+
Edwin Kempind0a63922013-01-23 16:32:59 +0100176E.g. this feature can be used by suggestion client UI's to limit results.
177
Hugo Arèsb8aae412014-07-08 11:04:43 -0400178Regex(r)::
179Limit the results to those projects that match the specified regex.
180+
181Boundary matchers '^' and '$' are implicit. For example: the regex 'test.*' will
182match any projects that start with 'test' and regex '.*test' will match any
183project that end with 'test'.
184+
185List all projects that match regex `test.*project`:
186+
187.Request
188----
189 GET /projects/?r=test.*project HTTP/1.0
190----
191+
192.Response
193----
194 HTTP/1.1 200 OK
195 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900196 Content-Type: application/json; charset=UTF-8
Hugo Arèsb8aae412014-07-08 11:04:43 -0400197
198 )]}'
199 {
200 "test/some-project": {
Edwin Kempin068511b2015-01-20 09:17:12 +0100201 "id": "test%2Fsome-project"
Hugo Arèsb8aae412014-07-08 11:04:43 -0400202 },
203 "test/some-other-project": {
Edwin Kempin068511b2015-01-20 09:17:12 +0100204 "id": "test%2Fsome-other-project"
Hugo Arèsb8aae412014-07-08 11:04:43 -0400205 }
206 }
207
208----
209
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400210Skip(S)::
211Skip the given number of projects from the beginning of the list.
212+
213Query the second project in the project list:
214+
215.Request
Anthony Chin5f44cc52014-03-12 10:37:10 -0400216----
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400217 GET /projects/?n=1&S=1 HTTP/1.0
218----
219+
220.Response
221----
222 HTTP/1.1 200 OK
223 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900224 Content-Type: application/json; charset=UTF-8
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400225
226 )]}'
227 {
228 "some-other-project": {
229 "id": "some-other-project"
230 }
231 }
Anthony Chin5f44cc52014-03-12 10:37:10 -0400232----
233
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400234Substring(m)::
235Limit the results to those projects that match the specified substring.
236+
237List all projects that match substring `test/`:
238+
239.Request
Anthony Chin5f44cc52014-03-12 10:37:10 -0400240----
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400241 GET /projects/?m=test%2F HTTP/1.0
242----
243+
244.Response
245----
246 HTTP/1.1 200 OK
247 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900248 Content-Type: application/json; charset=UTF-8
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400249
250 )]}'
251 {
252 "test/some-project": {
Edwin Kempin068511b2015-01-20 09:17:12 +0100253 "id": "test%2Fsome-project"
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400254 },
255 "some-path/test/some-other-project": {
Edwin Kempin068511b2015-01-20 09:17:12 +0100256 "id": "some-path%2Ftest%2Fsome-other-project"
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400257 }
258 }
259----
260
261Tree(t)::
262Get projects inheritance in a tree-like format. This option does
263not work together with the branch option.
264+
265Get all the projects with tree option:
266+
267.Request
268----
269GET /projects/?t HTTP/1.0
270----
271+
272.Response
273----
274 HTTP/1.1 200 OK
275 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900276 Content-Type: application/json; charset=UTF-8
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400277
278 )]}'
279 {
280 "All-Projects" {
281 "id": "All-Projects"
282 },
283 "child-project": {
284 "id": "child-project",
285 "parent":"parent-project"
286 },
287 "parent-project": {
288 "id": "parent-project",
289 "parent":"All-Projects"
290 }
291 }
292----
293
294Type(type)::
295Get projects with specified type: ALL, CODE, PERMISSIONS.
296+
297Get all the projects of type 'PERMISSIONS':
298+
299.Request
300----
301GET /projects/?type=PERMISSIONS HTTP/1.0
302----
303+
304.Response
305----
306 HTTP/1.1 200 OK
307 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900308 Content-Type: application/json; charset=UTF-8
Hugo Arèsbdd7f682014-07-08 10:57:52 -0400309
310 )]}'
311 {
312 "All-Projects" {
313 "id": "All-Projects"
314 },
315 "some-parent-project": {
316 "id": "some-parent-project"
317 }
318 }
Anthony Chin5f44cc52014-03-12 10:37:10 -0400319----
320
Edwin Kempin5c544e22013-03-06 13:35:45 +0100321[[get-project]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800322=== Get Project
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800323--
Edwin Kempin5c544e22013-03-06 13:35:45 +0100324'GET /projects/link:#project-name[\{project-name\}]'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800325--
Edwin Kempin5c544e22013-03-06 13:35:45 +0100326
327Retrieves a project.
328
329.Request
330----
331 GET /projects/plugins%2Freplication HTTP/1.0
332----
333
334As response a link:#project-info[ProjectInfo] entity is returned that
335describes the project.
336
337.Response
338----
339 HTTP/1.1 200 OK
340 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900341 Content-Type: application/json; charset=UTF-8
Edwin Kempin5c544e22013-03-06 13:35:45 +0100342
343 )]}'
344 {
Edwin Kempin5c544e22013-03-06 13:35:45 +0100345 "id": "plugins%2Freplication",
346 "name": "plugins/replication",
347 "parent": "Public-Plugins",
Shawn Pearce21a6c212014-04-23 12:35:10 -0700348 "description": "Copies to other servers using the Git protocol",
349 "state": "ACTIVE"
Edwin Kempin5c544e22013-03-06 13:35:45 +0100350 }
351----
352
Bruce Zu798ea122013-02-18 16:55:43 +0800353[[create-project]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800354=== Create Project
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800355--
Bruce Zu798ea122013-02-18 16:55:43 +0800356'PUT /projects/link:#project-name[\{project-name\}]'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800357--
Bruce Zu798ea122013-02-18 16:55:43 +0800358
359Creates a new project.
360
361In the request body additional data for the project can be provided as
362link:#project-input[ProjectInput].
363
364.Request
365----
366 PUT /projects/MyProject HTTP/1.0
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900367 Content-Type: application/json; charset=UTF-8
Bruce Zu798ea122013-02-18 16:55:43 +0800368
369 {
370 "description": "This is a demo project.",
371 "submit_type": "CHERRY_PICK",
372 "owners": [
373 "MyProject-Owners"
374 ]
375 }
376----
377
378As response the link:#project-info[ProjectInfo] entity is returned that
379describes the created project.
380
381.Response
382----
383 HTTP/1.1 201 Created
384 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900385 Content-Type: application/json; charset=UTF-8
Bruce Zu798ea122013-02-18 16:55:43 +0800386
387 )]}'
388 {
Bruce Zu798ea122013-02-18 16:55:43 +0800389 "id": "MyProject",
390 "name": "MyProject",
391 "parent": "All-Projects",
392 "description": "This is a demo project."
393 }
394----
395
Edwin Kempin57f303c2013-02-13 15:52:22 +0100396[[get-project-description]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800397=== Get Project Description
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800398--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100399'GET /projects/link:#project-name[\{project-name\}]/description'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800400--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100401
Edwin Kempin57f303c2013-02-13 15:52:22 +0100402Retrieves the description of a project.
403
404.Request
405----
406 GET /projects/plugins%2Freplication/description HTTP/1.0
407----
408
409.Response
410----
411 HTTP/1.1 200 OK
412 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900413 Content-Type: application/json; charset=UTF-8
Edwin Kempin57f303c2013-02-13 15:52:22 +0100414
415 )]}'
416 "Copies to other servers using the Git protocol"
417----
418
Edwin Kempinefec4492013-02-22 10:09:23 +0100419If the project does not have a description an empty string is returned.
420
Edwin Kempin57f303c2013-02-13 15:52:22 +0100421[[set-project-description]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800422=== Set Project Description
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800423--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100424'PUT /projects/link:#project-name[\{project-name\}]/description'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800425--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100426
Edwin Kempin57f303c2013-02-13 15:52:22 +0100427Sets the description of a project.
428
429The new project description must be provided in the request body inside
430a link:#project-description-input[ProjectDescriptionInput] entity.
431
432.Request
433----
434 PUT /projects/plugins%2Freplication/description HTTP/1.0
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900435 Content-Type: application/json; charset=UTF-8
Edwin Kempin57f303c2013-02-13 15:52:22 +0100436
437 {
438 "description": "Plugin for Gerrit that handles the replication.",
439 "commit_message": "Update the project description"
440 }
441----
442
443As response the new project description is returned.
444
445.Response
446----
447 HTTP/1.1 200 OK
448 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900449 Content-Type: application/json; charset=UTF-8
Edwin Kempin57f303c2013-02-13 15:52:22 +0100450
451 )]}'
452 "Plugin for Gerrit that handles the replication."
453----
454
Edwin Kempin114ab162013-02-28 09:25:37 +0100455If the description was deleted the response is "`204 No Content`".
456
Edwin Kempin57f303c2013-02-13 15:52:22 +0100457[[delete-project-description]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800458=== Delete Project Description
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800459--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100460'DELETE /projects/link:#project-name[\{project-name\}]/description'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800461--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100462
Edwin Kempin57f303c2013-02-13 15:52:22 +0100463Deletes the description of a project.
464
Edwin Kempinefec4492013-02-22 10:09:23 +0100465The request body does not need to include a
466link:#project-description-input[ProjectDescriptionInput] entity if no
467commit message is specified.
Edwin Kempin57f303c2013-02-13 15:52:22 +0100468
Edwin Kempinefec4492013-02-22 10:09:23 +0100469Please note that some proxies prohibit request bodies for DELETE
Edwin Kempin57f303c2013-02-13 15:52:22 +0100470requests. In this case, if you want to specify a commit message, use
471link:#set-project-description[PUT] to delete the description.
472
473.Request
474----
475 DELETE /projects/plugins%2Freplication/description HTTP/1.0
476----
477
478.Response
479----
480 HTTP/1.1 204 No Content
481----
482
Edwin Kempinecad88c2013-02-14 12:09:44 +0100483[[get-project-parent]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800484=== Get Project Parent
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800485--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100486'GET /projects/link:#project-name[\{project-name\}]/parent'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800487--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100488
Edwin Kempinecad88c2013-02-14 12:09:44 +0100489Retrieves the name of a project's parent project. For the
490`All-Projects` root project an empty string is returned.
491
492.Request
493----
494 GET /projects/plugins%2Freplication/parent HTTP/1.0
495----
496
497.Response
498----
499 HTTP/1.1 200 OK
500 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900501 Content-Type: application/json; charset=UTF-8
Edwin Kempinecad88c2013-02-14 12:09:44 +0100502
503 )]}'
504 "All-Projects"
505----
506
507[[set-project-parent]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800508=== Set Project Parent
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800509--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100510'PUT /projects/link:#project-name[\{project-name\}]/parent'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800511--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100512
Edwin Kempinecad88c2013-02-14 12:09:44 +0100513Sets the parent project for a project.
514
515The new name of the parent project must be provided in the request body
516inside a link:#project-parent-input[ProjectParentInput] entity.
517
518.Request
519----
520 PUT /projects/plugins%2Freplication/parent HTTP/1.0
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900521 Content-Type: application/json; charset=UTF-8
Edwin Kempinecad88c2013-02-14 12:09:44 +0100522
523 {
524 "parent": "Public-Plugins",
525 "commit_message": "Update the project parent"
526 }
527----
528
529As response the new parent project name is returned.
530
531.Response
532----
533 HTTP/1.1 200 OK
534 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900535 Content-Type: application/json; charset=UTF-8
Edwin Kempinecad88c2013-02-14 12:09:44 +0100536
537 )]}'
538 "Public-Plugins"
539----
540
Edwin Kempin6b813372013-03-13 17:07:33 +0100541[[get-head]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800542=== Get HEAD
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800543--
Edwin Kempin6b813372013-03-13 17:07:33 +0100544'GET /projects/link:#project-name[\{project-name\}]/HEAD'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800545--
Edwin Kempin6b813372013-03-13 17:07:33 +0100546
547Retrieves for a project the name of the branch to which `HEAD` points.
548
549.Request
550----
551 GET /projects/plugins%2Freplication/HEAD HTTP/1.0
552----
553
554.Response
555----
556 HTTP/1.1 200 OK
557 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900558 Content-Type: application/json; charset=UTF-8
Edwin Kempin6b813372013-03-13 17:07:33 +0100559
560 )]}'
561 "refs/heads/master"
562----
563
564[[set-head]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800565=== Set HEAD
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800566--
Edwin Kempin6b813372013-03-13 17:07:33 +0100567'PUT /projects/link:#project-name[\{project-name\}]/HEAD'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800568--
Edwin Kempin6b813372013-03-13 17:07:33 +0100569
570Sets `HEAD` for a project.
571
572The new ref to which `HEAD` should point must be provided in the
573request body inside a link:#head-input[HeadInput] entity.
574
575.Request
576----
577 PUT /projects/plugins%2Freplication/HEAD HTTP/1.0
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900578 Content-Type: application/json; charset=UTF-8
Edwin Kempin6b813372013-03-13 17:07:33 +0100579
580 {
581 "ref": "refs/heads/stable"
582 }
583----
584
585As response the new ref to which `HEAD` points is returned.
586
587.Response
588----
589 HTTP/1.1 200 OK
590 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900591 Content-Type: application/json; charset=UTF-8
Edwin Kempin6b813372013-03-13 17:07:33 +0100592
593 )]}'
594 "refs/heads/stable"
595----
596
Edwin Kempin19ea9b92013-03-20 13:20:26 +0100597[[get-repository-statistics]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800598=== Get Repository Statistics
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800599--
Edwin Kempin19ea9b92013-03-20 13:20:26 +0100600'GET /projects/link:#project-name[\{project-name\}]/statistics.git'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800601--
Edwin Kempin19ea9b92013-03-20 13:20:26 +0100602
603Return statistics for the repository of a project.
604
605.Request
606----
607 GET /projects/plugins%2Freplication/statistics.git HTTP/1.0
608----
609
610The repository statistics are returned as a
611link:#repository-statistics-info[RepositoryStatisticsInfo] entity.
612
613.Response
614----
615 HTTP/1.1 200 OK
616 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900617 Content-Type: application/json; charset=UTF-8
Edwin Kempin19ea9b92013-03-20 13:20:26 +0100618
619 )]}'
620 {
621 "number_of_loose_objects": 127,
622 "number_of_loose_refs": 15,
623 "number_of_pack_files": 15,
624 "number_of_packed_objects": 67,
625 "number_of_packed_refs": 0,
626 "size_of_loose_objects": 29466,
627 "size_of_packed_objects": 9646
628 }
629----
630
Dave Borowitz237073a2013-04-04 16:52:27 -0700631[[get-config]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800632=== Get Config
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800633--
Dave Borowitz237073a2013-04-04 16:52:27 -0700634'GET /projects/link:#project-name[\{project-name\}]/config'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800635--
Dave Borowitz237073a2013-04-04 16:52:27 -0700636
637Gets some configuration information about a project. Note that this
638config info is not simply the contents of `project.config`; it generally
639contains fields that may have been inherited from parent projects.
640
641.Request
642----
643 GET /projects/myproject/config
644----
645
646A link:#config-info[ConfigInfo] entity is returned that describes the
647project configuration. Some fields are only visible to users that have
648read access to `refs/meta/config`.
649
650.Response
651----
652 HTTP/1.1 200 OK
653 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900654 Content-Type: application/json; charset=UTF-8
Dave Borowitz237073a2013-04-04 16:52:27 -0700655
656 )]}'
657 {
Edwin Kempina23eb102013-07-17 09:10:54 +0200658 "description": "demo project",
Edwin Kempin0cb5a562013-07-12 15:41:04 +0200659 "use_contributor_agreements": {
660 "value": true,
661 "configured_value": "TRUE",
662 "inherited_value": false
663 },
664 "use_content_merge": {
665 "value": true,
666 "configured_value": "INHERIT",
667 "inherited_value": true
668 },
669 "use_signed_off_by": {
670 "value": false,
671 "configured_value": "INHERIT",
672 "inherited_value": false
673 },
Deniz Türkoglu52777272014-09-08 17:02:48 +0200674 "create_new_change_for_all_not_in_target": {
675 "value": false,
676 "configured_value": "INHERIT",
677 "inherited_value": false
678 },
Edwin Kempin0cb5a562013-07-12 15:41:04 +0200679 "require_change_id": {
680 "value": false,
681 "configured_value": "FALSE",
682 "inherited_value": true
Edwin Kempin3c99f592013-07-15 10:12:27 +0200683 },
684 "max_object_size_limit": {
685 "value": "15m",
686 "configured_value": "15m",
687 "inherited_value": "20m"
688 },
689 "submit_type": "MERGE_IF_NECESSARY",
690 "state": "ACTIVE",
David Ostrovsky9e8b2fb2013-08-30 08:09:53 +0200691 "commentlinks": {},
Edwin Kempin9ce4f552013-11-15 16:00:00 +0100692 "plugin_config": {
693 "helloworld": {
694 "language": {
695 "display_name": "Preferred Language",
696 "type": "STRING",
697 "value": "en"
698 }
699 }
700 },
David Ostrovsky9e8b2fb2013-08-30 08:09:53 +0200701 "actions": {
702 "cookbook~hello-project": {
703 "method": "POST",
704 "label": "Say hello",
705 "title": "Say hello in different languages",
706 "enabled": true
707 }
708 }
Dave Borowitz237073a2013-04-04 16:52:27 -0700709 }
710----
711
Edwin Kempina23eb102013-07-17 09:10:54 +0200712[[set-config]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800713=== Set Config
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800714--
Edwin Kempina23eb102013-07-17 09:10:54 +0200715'PUT /projects/link:#project-name[\{project-name\}]/config'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800716--
Edwin Kempina23eb102013-07-17 09:10:54 +0200717
718Sets the configuration of a project.
719
720The new configuration must be provided in the request body as a
721link:#config-input[ConfigInput] entity.
722
723.Request
724----
725 PUT /projects/myproject/config HTTP/1.0
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900726 Content-Type: application/json; charset=UTF-8
Edwin Kempina23eb102013-07-17 09:10:54 +0200727
728 {
729 "description": "demo project",
730 "use_contributor_agreements": "FALSE",
731 "use_content_merge": "INHERIT",
732 "use_signed_off_by": "INHERIT",
Deniz Türkoglu52777272014-09-08 17:02:48 +0200733 "create_new_change_for_all_not_in_target": "INHERIT",
Edwin Kempina23eb102013-07-17 09:10:54 +0200734 "require_change_id": "TRUE",
735 "max_object_size_limit": "10m",
736 "submit_type": "REBASE_IF_NECESSARY",
737 "state": "ACTIVE"
738 }
739----
740
741As response the new configuration is returned as a link:#config-info[
742ConfigInfo] entity.
743
744.Response
745----
746 HTTP/1.1 200 OK
747 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900748 Content-Type: application/json; charset=UTF-8
Edwin Kempina23eb102013-07-17 09:10:54 +0200749
750 )]}'
751 {
Edwin Kempina23eb102013-07-17 09:10:54 +0200752 "use_contributor_agreements": {
753 "value": false,
754 "configured_value": "FALSE",
755 "inherited_value": false
756 },
757 "use_content_merge": {
758 "value": true,
759 "configured_value": "INHERIT",
760 "inherited_value": true
761 },
762 "use_signed_off_by": {
763 "value": false,
764 "configured_value": "INHERIT",
765 "inherited_value": false
766 },
Deniz Türkoglu52777272014-09-08 17:02:48 +0200767 "create_new_change_for_all_not_in_target": {
768 "value": true,
769 "configured_value": "INHERIT",
770 "inherited_value": false
771 },
Edwin Kempina23eb102013-07-17 09:10:54 +0200772 "require_change_id": {
773 "value": true,
774 "configured_value": "TRUE",
775 "inherited_value": true
776 },
777 "max_object_size_limit": {
778 "value": "10m",
779 "configured_value": "10m",
780 "inherited_value": "20m"
781 },
782 "submit_type": "REBASE_IF_NECESSARY",
783 "state": "ACTIVE",
784 "commentlinks": {}
785 }
786----
787
Edwin Kempinef3542f2013-03-19 13:31:49 +0100788[[run-gc]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800789=== Run GC
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800790--
Edwin Kempinef3542f2013-03-19 13:31:49 +0100791'POST /projects/link:#project-name[\{project-name\}]/gc'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800792--
Edwin Kempinef3542f2013-03-19 13:31:49 +0100793
794Run the Git garbage collection for the repository of a project.
795
Edwin Kempin4bdc72d2013-11-13 13:30:49 +0100796Options for the Git garbage collection can be specified in the
797request body as a link:#gc-input[GCInput] entity.
798
Edwin Kempinef3542f2013-03-19 13:31:49 +0100799.Request
800----
801 POST /projects/plugins%2Freplication/gc HTTP/1.0
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900802 Content-Type: application/json; charset=UTF-8
Edwin Kempin4bdc72d2013-11-13 13:30:49 +0100803
804 {
805 "show_progress": true
806 }
Edwin Kempinef3542f2013-03-19 13:31:49 +0100807----
808
809The response is the streamed output of the garbage collection.
810
811.Response
812----
813 HTTP/1.1 200 OK
814 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900815 Content-Type: text/plain; charset=UTF-8
Edwin Kempinef3542f2013-03-19 13:31:49 +0100816
817 collecting garbage for "plugins/replication":
818 Pack refs: 100% (21/21)
819 Counting objects: 20
820 Finding sources: 100% (20/20)
821 Getting sizes: 100% (13/13)
822 Compressing objects: 83% (5/6)
823 Writing objects: 100% (20/20)
824 Selecting commits: 100% (7/7)
825 Building bitmaps: 100% (7/7)
826 Finding sources: 100% (41/41)
827 Getting sizes: 100% (25/25)
828 Compressing objects: 52% (12/23)
829 Writing objects: 100% (41/41)
830 Prune loose objects also found in pack files: 100% (36/36)
831 Prune loose, unreferenced objects: 100% (36/36)
832 done.
833----
834
Edwin Kempin62946742014-07-09 11:17:58 +0200835[[ban-commit]]
836=== Ban Commit
837--
838'PUT /projects/link:#project-name[\{project-name\}]/ban'
839--
840
841Marks commits as banned for the project. If a commit is banned Gerrit
842rejects every push that includes this commit with
843link:error-contains-banned-commit.html[contains banned commit ...].
844
845[NOTE]
846This REST endpoint only marks the commits as banned, but it does not
847remove the commits from the history of any central branch. This needs
848to be done manually.
849
850The commits to be banned must be specified in the request body as a
851link:#ban-input[BanInput] entity.
852
853The caller must be project owner.
854
855.Request
856----
857 PUT /projects/plugins%2Freplication/ban HTTP/1.0
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900858 Content-Type: application/json; charset=UTF-8
Edwin Kempin62946742014-07-09 11:17:58 +0200859
860 {
861 "commits": [
862 "a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96",
863 "cf5b56541f84b8b57e16810b18daca9c3adc377b"
864 ],
865 "reason": "Violates IP"
866 }
867----
868
869As response a link:#ban-result-info[BanResultInfo] entity is returned.
870
871.Response
872----
873 HTTP/1.1 200 OK
874 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900875 Content-Type: application/json; charset=UTF-8
Edwin Kempin62946742014-07-09 11:17:58 +0200876
877 )]}'
878 {
879 "newly_banned": [
880 "a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96",
881 "cf5b56541f84b8b57e16810b18daca9c3adc377b"
882 ]
883 }
884----
885
Edwin Kempina686de92013-05-09 15:12:34 +0200886[[branch-endpoints]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800887== Branch Endpoints
Edwin Kempina686de92013-05-09 15:12:34 +0200888
889[[list-branches]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -0800890=== List Branches
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800891--
Edwin Kempina686de92013-05-09 15:12:34 +0200892'GET /projects/link:#project-name[\{project-name\}]/branches/'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -0800893--
Edwin Kempina686de92013-05-09 15:12:34 +0200894
895List the branches of a project.
896
897As result a list of link:#branch-info[BranchInfo] entries is
898returned.
899
900.Request
901----
902 GET /projects/work%2Fmy-project/branches/ HTTP/1.0
903----
904
905.Response
906----
907 HTTP/1.1 200 OK
908 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900909 Content-Type: application/json; charset=UTF-8
Edwin Kempina686de92013-05-09 15:12:34 +0200910
911 )]}'
912 [
913 {
914 "ref": "HEAD",
915 "revision": "master"
916 },
917 {
918 "ref": "refs/meta/config",
919 "revision": "76016386a0d8ecc7b6be212424978bb45959d668"
920 },
921 {
922 "ref": "refs/heads/master",
923 "revision": "67ebf73496383c6777035e374d2d664009e2aa5c"
924 },
925 {
926 "ref": "refs/heads/stable",
927 "revision": "64ca533bd0eb5252d2fee83f63da67caae9b4674",
928 "can_delete": true
929 }
930 ]
931----
932
Hugo Arès3133b4b2014-10-14 14:05:10 -0400933[[branch-options]]
934==== Branch Options
935
Hugo Arès15856622014-10-14 14:19:01 -0400936Limit(n)::
937Limit the number of branches to be included in the results.
938+
939.Request
940----
941 GET /projects/testproject/branches?n=1 HTTP/1.0
942----
943+
944.Response
945----
946 HTTP/1.1 200 OK
947 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900948 Content-Type: application/json; charset=UTF-8
Hugo Arès15856622014-10-14 14:19:01 -0400949
950 )]}'
951 [
952 {
953 "ref": "HEAD",
954 "revision": "master",
955 "can_delete": false
956 }
957 ]
958----
959
960Skip(s)::
961Skip the given number of branches from the beginning of the list.
962+
963.Request
964----
965 GET /projects/testproject/branches?n=1&s=0 HTTP/1.0
966----
967+
968.Response
969----
970 HTTP/1.1 200 OK
971 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900972 Content-Type: application/json; charset=UTF-8
Hugo Arès15856622014-10-14 14:19:01 -0400973
974 )]}'
975 [
976 {
977 "ref": "HEAD",
978 "revision": "master",
979 "can_delete": false
980 }
981 ]
982----
983
Hugo Arès3133b4b2014-10-14 14:05:10 -0400984Substring(m)::
985Limit the results to those projects that match the specified substring.
986+
987List all projects that match substring `test`:
988+
989.Request
990----
991 GET /projects/testproject/branches?m=test HTTP/1.0
992----
993+
994.Response
995----
996 HTTP/1.1 200 OK
997 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +0900998 Content-Type: application/json; charset=UTF-8
Hugo Arès3133b4b2014-10-14 14:05:10 -0400999
1000 )]}'
1001 [
1002 {
1003 "ref": "refs/heads/test1",
1004 "revision": "9c9d08a438e55e52f33b608415e6dddd9b18550d",
1005 "can_delete": true
1006 }
1007 ]
1008----
1009
1010Regex(r)::
1011Limit the results to those branches that match the specified regex.
1012Boundary matchers '^' and '$' are implicit. For example: the regex 't*' will
1013match any branches that start with 'test' and regex '*t' will match any
1014branches that end with 'test'.
1015+
1016List all branches that match regex `t.*1`:
1017+
1018.Request
1019----
1020 GET /projects/testproject/branches?r=t.*1 HTTP/1.0
1021----
1022+
1023.Response
1024----
1025 HTTP/1.1 200 OK
1026 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001027 Content-Type: application/json; charset=UTF-8
Hugo Arès3133b4b2014-10-14 14:05:10 -04001028
1029 )]}'
1030 [
1031 {
1032 "ref": "refs/heads/test1",
1033 "revision": "9c9d08a438e55e52f33b608415e6dddd9b18550d",
1034 "can_delete": true
1035 }
1036 ]
1037----
1038
Edwin Kempin196e1732013-05-09 15:12:34 +02001039[[get-branch]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001040=== Get Branch
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001041--
Edwin Kempin196e1732013-05-09 15:12:34 +02001042'GET /projects/link:#project-name[\{project-name\}]/branches/link:#branch-id[\{branch-id\}]'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001043--
Edwin Kempin196e1732013-05-09 15:12:34 +02001044
1045Retrieves a branch of a project.
1046
1047.Request
1048----
1049 GET /projects/work%2Fmy-project/branches/master HTTP/1.0
1050----
1051
1052As response a link:#branch-info[BranchInfo] entity is returned that
1053describes the branch.
1054
1055.Response
1056----
1057 HTTP/1.1 200 OK
1058 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001059 Content-Type: application/json; charset=UTF-8
Edwin Kempin196e1732013-05-09 15:12:34 +02001060
1061 )]}'
1062 {
1063 "ref": "refs/heads/master",
1064 "revision": "67ebf73496383c6777035e374d2d664009e2aa5c"
1065 }
1066----
1067
Edwin Kempin5c0d6b32013-05-09 19:54:37 +02001068[[create-branch]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001069=== Create Branch
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001070--
Edwin Kempin5c0d6b32013-05-09 19:54:37 +02001071'PUT /projects/link:#project-name[\{project-name\}]/branches/link:#branch-id[\{branch-id\}]'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001072--
Edwin Kempin5c0d6b32013-05-09 19:54:37 +02001073
1074Creates a new branch.
1075
1076In the request body additional data for the branch can be provided as
1077link:#branch-input[BranchInput].
1078
1079.Request
1080----
1081 PUT /projects/MyProject/branches/stable HTTP/1.0
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001082 Content-Type: application/json; charset=UTF-8
Edwin Kempin5c0d6b32013-05-09 19:54:37 +02001083
1084 {
1085 "revision": "76016386a0d8ecc7b6be212424978bb45959d668"
1086 }
1087----
1088
1089As response a link:#branch-info[BranchInfo] entity is returned that
1090describes the created branch.
1091
1092.Response
1093----
1094 HTTP/1.1 201 Created
1095 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001096 Content-Type: application/json; charset=UTF-8
Edwin Kempin5c0d6b32013-05-09 19:54:37 +02001097
1098 )]}'
1099 {
1100 "ref": "refs/heads/stable",
1101 "revision": "76016386a0d8ecc7b6be212424978bb45959d668",
1102 "can_delete": true
1103 }
1104----
1105
Edwin Kempin6ce96a12013-06-06 13:20:01 +02001106[[delete-branch]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001107=== Delete Branch
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001108--
Edwin Kempin6ce96a12013-06-06 13:20:01 +02001109'DELETE /projects/link:#project-name[\{project-name\}]/branches/link:#branch-id[\{branch-id\}]'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001110--
Edwin Kempin6ce96a12013-06-06 13:20:01 +02001111
1112Deletes a branch.
1113
1114.Request
1115----
1116 DELETE /projects/MyProject/branches/stable HTTP/1.0
1117----
1118
1119.Response
1120----
1121 HTTP/1.1 204 No Content
1122----
1123
Hugo Arèsef8e3202015-01-12 15:09:06 -05001124[[delete-branches]]
1125=== Delete Branches
1126--
1127'POST /projects/link:#project-name[\{project-name\}]/branches:delete'
1128--
1129
1130Delete one or more branches.
1131
1132The branches to be deleted must be provided in the request body as a
1133link:#delete-branches-input[DeleteBranchesInput] entity.
1134
1135.Request
1136----
1137 POST /projects/MyProject/branches:delete HTTP/1.0
1138 Content-Type: application/json;charset=UTF-8
1139
1140 {
1141 "branches": [
1142 "stable-1.0",
1143 "stable-2.0"
1144 ]
1145 }
1146----
1147
1148.Response
1149----
1150 HTTP/1.1 204 No Content
1151----
1152
1153If some branches could not be deleted, the response is "`409 Conflict`" and the
1154error message is contained in the response body.
1155
Edwin Kempind31e5582013-11-30 12:07:08 +01001156[[get-content]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001157=== Get Content
Edwin Kempind31e5582013-11-30 12:07:08 +01001158--
1159'GET /projects/link:#project-name[\{project-name\}]/branches/link:#branch-id[\{branch-id\}]/files/link:rest-api-changes.html#file-id[\{file-id\}]/content'
1160--
1161
1162Gets the content of a file from the HEAD revision of a certain branch.
1163
1164.Request
1165----
1166 GET /projects/gerrit/branches/master/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/content HTTP/1.0
1167----
1168
1169The content is returned as base64 encoded string.
1170
1171.Response
1172----
1173 HTTP/1.1 200 OK
1174 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001175 Content-Type: text/plain; charset=UTF-8
Edwin Kempind31e5582013-11-30 12:07:08 +01001176
1177 Ly8gQ29weXJpZ2h0IChDKSAyMDEwIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY...
1178----
1179
Edwin Kempin87504d92014-07-04 12:59:19 +02001180[[get-reflog]]
1181=== Get Reflog
1182--
1183'GET /projects/link:#project-name[\{project-name\}]/branches/link:#branch-id[\{branch-id\}]/reflog'
1184--
1185
1186Gets the reflog of a certain branch.
1187
1188The caller must be project owner.
1189
1190.Request
1191----
1192 GET /projects/gerrit/branches/master/reflog HTTP/1.0
1193----
1194
1195As response a list of link:#reflog-entry-info[ReflogEntryInfo] entities
1196is returned that describe the reflog entries. The reflog entries are
1197returned in reverse order.
1198
1199.Response
1200----
1201 HTTP/1.1 200 OK
1202 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001203 Content-Type: application/json; charset=UTF-8
Edwin Kempin87504d92014-07-04 12:59:19 +02001204
1205 )]}'
1206 [
1207 {
1208 "old_id": "976ced8f4fc0909d7e1584d18455299545881d60",
1209 "new_id": "2eaa94bac536654eb592c941e33b91f925698d16",
1210 "who": {
1211 "name": "Jane Roe",
1212 "email": "jane.roe@example.com",
1213 "date": "2014-06-30 11:53:43.000000000",
1214 "tz": 120
1215 },
1216 "comment": "merged: fast forward"
1217 },
1218 {
1219 "old_id": "c271c6a7161b74f85560c5899c8c73ee89ca5e29",
1220 "new_id": "976ced8f4fc0909d7e1584d18455299545881d60",
1221 "who": {
1222 "name": "John Doe",
1223 "email": "john.doe@example.com",
1224 "date": "2013-10-02 10:45:26.000000000",
1225 "tz": 120
1226 },
1227 "comment": "merged: fast forward"
1228 },
1229 {
1230 "old_id": "0000000000000000000000000000000000000000",
1231 "new_id": "c271c6a7161b74f85560c5899c8c73ee89ca5e29",
1232 "who": {
1233 "name": "John Doe",
1234 "email": "john.doe@example.com",
1235 "date": "2013-09-30 19:08:44.000000000",
1236 "tz": 120
1237 },
1238 "comment": ""
1239 }
1240 ]
1241----
1242
1243The get reflog endpoint also accepts a limit integer in the `n`
1244parameter. This limits the results to show the last `n` reflog entries.
1245
1246Query the last 25 reflog entries.
1247----
1248 GET /projects/gerrit/branches/master/reflog?n=25 HTTP/1.0
1249----
1250
Edwin Kempin2a581fd2014-07-04 14:04:54 +02001251The reflog can also be filtered by timestamp by specifying the `from`
1252and `to` parameters. The timestamp for `from` and `to` must be given as
1253UTC in the following format: `yyyyMMdd_HHmm`.
1254
1255----
1256 GET /projects/gerrit/branches/master/reflog?from=20130101_0000&to=20140101_0000=25 HTTP/1.0
1257----
1258
Edwin Kempin4425c742013-03-18 13:23:00 +01001259[[child-project-endpoints]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001260== Child Project Endpoints
Edwin Kempin4425c742013-03-18 13:23:00 +01001261
1262[[list-child-projects]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001263=== List Child Projects
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001264--
Edwin Kempin4425c742013-03-18 13:23:00 +01001265'GET /projects/link:#project-name[\{project-name\}]/children/'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001266--
Edwin Kempin4425c742013-03-18 13:23:00 +01001267
1268List the direct child projects of a project.
1269
1270.Request
1271----
1272 GET /projects/Public-Plugins/children/ HTTP/1.0
1273----
1274
1275As result a list of link:#project-info[ProjectInfo] entries is
1276returned that describe the child projects.
1277
1278.Response
1279----
1280 HTTP/1.1 200 OK
1281 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001282 Content-Type: application/json; charset=UTF-8
Edwin Kempin4425c742013-03-18 13:23:00 +01001283
1284 )]}'
1285 [
1286 {
Edwin Kempin4425c742013-03-18 13:23:00 +01001287 "id": "plugins%2Freplication",
1288 "name": "plugins/replication",
1289 "parent": "Public-Plugins",
1290 "description": "Copies to other servers using the Git protocol"
1291 },
1292 {
Edwin Kempin4425c742013-03-18 13:23:00 +01001293 "id": "plugins%2Freviewnotes",
1294 "name": "plugins/reviewnotes",
1295 "parent": "Public-Plugins",
1296 "description": "Annotates merged commits using notes on refs/notes/review."
1297 },
1298 {
Edwin Kempin4425c742013-03-18 13:23:00 +01001299 "id": "plugins%2Fsingleusergroup",
1300 "name": "plugins/singleusergroup",
1301 "parent": "Public-Plugins",
1302 "description": "GroupBackend enabling users to be directly added to access rules"
1303 }
1304 ]
1305----
1306
Edwin Kempinf95bd172013-03-19 11:10:57 +01001307To resolve the child projects of a project recursively the parameter
1308`recursive` can be set.
1309
1310Child projects that are not visible to the calling user are ignored and
1311are not resolved further.
1312
1313.Request
1314----
1315 GET /projects/Public-Projects/children/?recursive HTTP/1.0
1316----
1317
1318.Response
1319----
1320 HTTP/1.1 200 OK
1321 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001322 Content-Type: application/json; charset=UTF-8
Edwin Kempinf95bd172013-03-19 11:10:57 +01001323
1324 )]}'
1325 [
1326 {
Edwin Kempinf95bd172013-03-19 11:10:57 +01001327 "id": "gerrit",
1328 "name": "gerrit",
1329 "parent": "Public-Projects",
1330 "description": "Gerrit Code Review"
1331 },
1332 {
Edwin Kempinf95bd172013-03-19 11:10:57 +01001333 "id": "plugins%2Freplication",
1334 "name": "plugins/replication",
1335 "parent": "Public-Plugins",
1336 "description": "Copies to other servers using the Git protocol"
1337 },
1338 {
Edwin Kempinf95bd172013-03-19 11:10:57 +01001339 "id": "plugins%2Freviewnotes",
1340 "name": "plugins/reviewnotes",
1341 "parent": "Public-Plugins",
1342 "description": "Annotates merged commits using notes on refs/notes/review."
1343 },
1344 {
Edwin Kempinf95bd172013-03-19 11:10:57 +01001345 "id": "plugins%2Fsingleusergroup",
1346 "name": "plugins/singleusergroup",
1347 "parent": "Public-Plugins",
1348 "description": "GroupBackend enabling users to be directly added to access rules"
1349 },
1350 {
Edwin Kempinf95bd172013-03-19 11:10:57 +01001351 "id": "Public-Plugins",
1352 "name": "Public-Plugins",
1353 "parent": "Public-Projects",
1354 "description": "Parent project for plugins/*"
1355 }
1356 ]
1357----
1358
Edwin Kempin5b6c4062013-03-19 09:26:03 +01001359[[get-child-project]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001360=== Get Child Project
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001361--
Edwin Kempin5b6c4062013-03-19 09:26:03 +01001362'GET /projects/link:#project-name[\{project-name\}]/children/link:#project-name[\{project-name\}]'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001363--
Edwin Kempin5b6c4062013-03-19 09:26:03 +01001364
Edwin Kempin8a3fb5b2013-03-21 15:02:22 +01001365Retrieves a child project. If a non-direct child project should be
1366retrieved the parameter `recursive` must be set.
Edwin Kempin5b6c4062013-03-19 09:26:03 +01001367
1368.Request
1369----
1370 GET /projects/Public-Plugins/children/plugins%2Freplication HTTP/1.0
1371----
1372
1373As response a link:#project-info[ProjectInfo] entity is returned that
1374describes the child project.
1375
1376.Response
1377----
1378 HTTP/1.1 200 OK
1379 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001380 Content-Type: application/json; charset=UTF-8
Edwin Kempin5b6c4062013-03-19 09:26:03 +01001381
1382 )]}'
1383 {
Edwin Kempin5b6c4062013-03-19 09:26:03 +01001384 "id": "plugins%2Freplication",
1385 "name": "plugins/replication",
1386 "parent": "Public-Plugins",
1387 "description": "Copies to other servers using the Git protocol"
1388 }
1389----
1390
David Pursehouse8cc68902014-10-06 18:17:16 +09001391[[tag-endpoints]]
1392== Tag Endpoints
1393
1394[[list-tags]]
1395=== List Tags
1396--
1397'GET /projects/link:#project-name[\{project-name\}]/tags/'
1398--
1399
1400List the tags of a project.
1401
1402As result a list of link:#tag-info[TagInfo] entries is returned.
1403
1404Only includes tags under the `refs/tags/` namespace.
1405
1406.Request
1407----
1408 GET /projects/work%2Fmy-project/tags/ HTTP/1.0
1409----
1410
1411.Response
1412----
1413 HTTP/1.1 200 OK
1414 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001415 Content-Type: application/json; charset=UTF-8
David Pursehouse8cc68902014-10-06 18:17:16 +09001416
1417 )]}'
1418 [
1419 {
1420 "ref": "refs/tags/v1.0",
1421 "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666",
1422 "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
1423 "message": "Annotated tag",
1424 "tagger": {
1425 "name": "David Pursehouse",
1426 "email": "david.pursehouse@sonymobile.com",
1427 "date": "2014-10-06 07:35:03.000000000",
1428 "tz": 540
1429 }
1430 },
1431 {
1432 "ref": "refs/tags/v2.0",
1433 "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30"
1434 },
1435 {
1436 "ref": "refs/tags/v3.0",
1437 "revision": "c628685b3c5a3614571ecb5c8fceb85db9112313",
1438 "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
1439 "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-----",
1440 "tagger": {
1441 "name": "David Pursehouse",
1442 "email": "david.pursehouse@sonymobile.com",
1443 "date": "2014-10-06 09:02:16.000000000",
1444 "tz": 540
1445 }
1446 }
1447 ]
1448----
1449
1450[[get-tag]]
1451=== Get Tag
1452--
1453'GET /projects/link:#project-name[\{project-name\}]/tags/link:#tag-id[\{tag-id\}]'
1454--
1455
1456Retrieves a tag of a project.
1457
1458.Request
1459----
1460 GET /projects/work%2Fmy-project/tags/v1.0 HTTP/1.0
1461----
1462
1463As response a link:#tag-info[TagInfo] entity is returned that describes the tag.
1464
1465.Response
1466----
1467 HTTP/1.1 200 OK
1468 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001469 Content-Type: application/json; charset=UTF-8
David Pursehouse8cc68902014-10-06 18:17:16 +09001470
1471 )]}'
1472 {
1473 "ref": "refs/tags/v1.0",
1474 "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666",
1475 "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
1476 "message": "Annotated tag",
1477 "tagger": {
1478 "name": "David Pursehouse",
1479 "email": "david.pursehouse@sonymobile.com",
1480 "date": "2014-10-06 07:35:03.000000000",
1481 "tz": 540
1482 }
1483 }
1484----
1485
1486
Edwin Kempin1b993602014-07-08 16:18:45 +02001487[[commit-endpoints]]
1488== Commit Endpoints
1489
1490[[get-commit]]
1491=== Get Commit
1492--
1493'GET /projects/link:#project-name[\{project-name\}]/commits/link:#commit-id[\{commit-id\}]'
1494--
1495
1496Retrieves a commit of a project.
1497
1498The commit must be visible to the caller.
1499
1500.Request
1501----
1502 GET /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96 HTTP/1.0
1503----
1504
1505As response a link:rest-api-changes.html#commit-info[CommitInfo] entity
1506is returned that describes the commit.
1507
1508.Response
1509----
1510 HTTP/1.1 200 OK
1511 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001512 Content-Type: application/json; charset=UTF-8
Edwin Kempin1b993602014-07-08 16:18:45 +02001513
1514 )]}'
1515 {
1516 "commit": "184ebe53805e102605d11f6b143486d15c23a09c",
1517 "parents": [
1518 {
1519 "commit": "1eee2c9d8f352483781e772f35dc586a69ff5646",
1520 "subject": "Migrate contributor agreements to All-Projects."
1521 }
1522 ],
1523 "author": {
1524 "name": "Shawn O. Pearce",
1525 "email": "sop@google.com",
1526 "date": "2012-04-24 18:08:08.000000000",
1527 "tz": -420
1528 },
1529 "committer": {
1530 "name": "Shawn O. Pearce",
1531 "email": "sop@google.com",
1532 "date": "2012-04-24 18:08:08.000000000",
1533 "tz": -420
1534 },
1535 "subject": "Use an EventBus to manage star icons",
1536 "message": "Use an EventBus to manage star icons\n\nImage widgets that need to ..."
1537 }
1538----
1539
Zhen Chend1462d82016-05-12 13:55:37 -07001540[[get-content-from-commit]]
Edwin Kempin6f7410a2014-07-09 15:46:22 +02001541=== Get Content
1542--
1543'GET /projects/link:#project-name[\{project-name\}]/commits/link:#commit-id[\{commit-id\}]/files/link:rest-api-changes.html#file-id[\{file-id\}]/content'
1544--
1545
1546Gets the content of a file from a certain commit.
1547
1548.Request
1549----
1550 GET /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/content HTTP/1.0
1551----
1552
1553The content is returned as base64 encoded string.
1554
1555.Response
1556----
1557 HTTP/1.1 200 OK
1558 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001559 Content-Type: text/plain; charset=UTF-8
Edwin Kempin6f7410a2014-07-09 15:46:22 +02001560
1561 Ly8gQ29weXJpZ2h0IChDKSAyMDEwIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY...
1562----
1563
Edwin Kempinc3fe3cb2013-02-13 15:09:23 +01001564[[dashboard-endpoints]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001565== Dashboard Endpoints
Edwin Kempinc3fe3cb2013-02-13 15:09:23 +01001566
Edwin Kempin76202742013-02-15 13:51:50 +01001567[[list-dashboards]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001568=== List Dashboards
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001569--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +01001570'GET /projects/link:#project-name[\{project-name\}]/dashboards/'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001571--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +01001572
Edwin Kempind0a63922013-01-23 16:32:59 +01001573List custom dashboards for a project.
1574
Edwin Kempin55367622013-02-05 09:09:23 +01001575As result a list of link:#dashboard-info[DashboardInfo] entries is
1576returned.
1577
Edwin Kempind0a63922013-01-23 16:32:59 +01001578List all dashboards for the `work/my-project` project:
Edwin Kempin37440832013-02-06 11:36:00 +01001579
1580.Request
Edwin Kempind0a63922013-01-23 16:32:59 +01001581----
1582 GET /projects/work%2Fmy-project/dashboards/ HTTP/1.0
Edwin Kempin37440832013-02-06 11:36:00 +01001583----
Edwin Kempind0a63922013-01-23 16:32:59 +01001584
Edwin Kempin37440832013-02-06 11:36:00 +01001585.Response
1586----
Edwin Kempind0a63922013-01-23 16:32:59 +01001587 HTTP/1.1 200 OK
1588 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001589 Content-Type: application/json; charset=UTF-8
Edwin Kempind0a63922013-01-23 16:32:59 +01001590
1591 )]}'
1592 [
1593 {
Edwin Kempind0a63922013-01-23 16:32:59 +01001594 "id": "main:closed",
1595 "ref": "main",
1596 "path": "closed",
1597 "description": "Merged and abandoned changes in last 7 weeks",
1598 "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
1599 "default": true,
1600 "title": "Closed changes",
1601 "sections": [
1602 {
1603 "name": "Merged",
1604 "query": "status:merged age:7w"
1605 },
1606 {
1607 "name": "Abandoned",
1608 "query": "status:abandoned age:7w"
1609 }
1610 ]
1611 }
1612 ]
1613----
1614
Edwin Kempina64c4b92013-01-23 11:30:40 +01001615.Get all dashboards of the 'All-Projects' project
1616****
1617get::/projects/All-Projects/dashboards/
1618****
1619
Edwin Kempin67e923c2013-02-14 13:57:12 +01001620[[get-dashboard]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001621=== Get Dashboard
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001622--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +01001623'GET /projects/link:#project-name[\{project-name\}]/dashboards/link:#dashboard-id[\{dashboard-id\}]'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001624--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +01001625
Edwin Kempin67e923c2013-02-14 13:57:12 +01001626Retrieves a project dashboard. The dashboard can be defined on that
1627project or be inherited from a parent project.
1628
1629.Request
1630----
1631 GET /projects/work%2Fmy-project/dashboards/main:closed HTTP/1.0
1632----
1633
1634As response a link:#dashboard-info[DashboardInfo] entity is returned
1635that describes the dashboard.
1636
1637.Response
1638----
1639 HTTP/1.1 200 OK
1640 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001641 Content-Type: application/json; charset=UTF-8
Edwin Kempin67e923c2013-02-14 13:57:12 +01001642
1643 )]}'
1644 {
Edwin Kempin67e923c2013-02-14 13:57:12 +01001645 "id": "main:closed",
1646 "ref": "main",
1647 "path": "closed",
1648 "description": "Merged and abandoned changes in last 7 weeks",
1649 "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
1650 "default": true,
1651 "title": "Closed changes",
1652 "sections": [
1653 {
1654 "name": "Merged",
1655 "query": "status:merged age:7w"
1656 },
1657 {
1658 "name": "Abandoned",
1659 "query": "status:abandoned age:7w"
1660 }
1661 ]
1662 }
1663----
1664
1665To retrieve the default dashboard of a project use `default` as
1666dashboard-id.
Edwin Kempin37440832013-02-06 11:36:00 +01001667
1668.Request
Edwin Kempind0a63922013-01-23 16:32:59 +01001669----
1670 GET /projects/work%2Fmy-project/dashboards/default HTTP/1.0
Edwin Kempin37440832013-02-06 11:36:00 +01001671----
Edwin Kempind0a63922013-01-23 16:32:59 +01001672
Edwin Kempin37440832013-02-06 11:36:00 +01001673.Response
1674----
Edwin Kempind0a63922013-01-23 16:32:59 +01001675 HTTP/1.1 200 OK
1676 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001677 Content-Type: application/json; charset=UTF-8
Edwin Kempind0a63922013-01-23 16:32:59 +01001678
1679 )]}'
1680 {
Edwin Kempind0a63922013-01-23 16:32:59 +01001681 "id": "main:closed",
1682 "ref": "main",
1683 "path": "closed",
Edwin Kempin67e923c2013-02-14 13:57:12 +01001684 "description": "Merged and abandoned changes in last 7 weeks",
1685 "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
Edwin Kempind0a63922013-01-23 16:32:59 +01001686 "default": true,
Edwin Kempin67e923c2013-02-14 13:57:12 +01001687 "title": "Closed changes",
1688 "sections": [
1689 {
1690 "name": "Merged",
1691 "query": "status:merged age:7w"
1692 },
1693 {
1694 "name": "Abandoned",
1695 "query": "status:abandoned age:7w"
1696 }
1697 ]
Edwin Kempind0a63922013-01-23 16:32:59 +01001698 }
1699----
1700
Edwin Kempin67e923c2013-02-14 13:57:12 +01001701[[set-dashboard]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001702=== Set Dashboard
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001703--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +01001704'PUT /projects/link:#project-name[\{project-name\}]/dashboards/link:#dashboard-id[\{dashboard-id\}]'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001705--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +01001706
Edwin Kempin67e923c2013-02-14 13:57:12 +01001707Updates/Creates a project dashboard.
1708
1709Currently only supported for the `default` dashboard.
1710
1711The creation/update information for the dashboard must be provided in
1712the request body as a link:#dashboard-input[DashboardInput] entity.
1713
1714.Request
1715----
1716 PUT /projects/work%2Fmy-project/dashboards/default HTTP/1.0
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001717 Content-Type: application/json; charset=UTF-8
Edwin Kempin67e923c2013-02-14 13:57:12 +01001718
1719 {
1720 "id": "main:closed",
1721 "commit_message": "Define the default dashboard"
1722 }
1723----
1724
1725As response the new/updated dashboard is returned as a
1726link:#dashboard-info[DashboardInfo] entity.
1727
1728.Response
1729----
1730 HTTP/1.1 200 OK
1731 Content-Disposition: attachment
David Pursehouse56bf1cb2015-01-06 15:44:00 +09001732 Content-Type: application/json; charset=UTF-8
Edwin Kempin67e923c2013-02-14 13:57:12 +01001733
1734 )]}'
1735 {
Edwin Kempin67e923c2013-02-14 13:57:12 +01001736 "id": "main:closed",
1737 "ref": "main",
1738 "path": "closed",
1739 "description": "Merged and abandoned changes in last 7 weeks",
1740 "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
1741 "default": true,
1742 "title": "Closed changes",
1743 "sections": [
1744 {
1745 "name": "Merged",
1746 "query": "status:merged age:7w"
1747 },
1748 {
1749 "name": "Abandoned",
1750 "query": "status:abandoned age:7w"
1751 }
1752 ]
1753 }
1754----
1755
1756[[delete-dashboard]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001757=== Delete Dashboard
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001758--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +01001759'DELETE /projects/link:#project-name[\{project-name\}]/dashboards/link:#dashboard-id[\{dashboard-id\}]'
Yuxuan 'fishy' Wangd85b6872013-11-15 11:47:46 -08001760--
Edwin Kempin50d3d9b2013-03-06 16:38:26 +01001761
Edwin Kempin67e923c2013-02-14 13:57:12 +01001762Deletes a project dashboard.
1763
1764Currently only supported for the `default` dashboard.
1765
Edwin Kempinefec4492013-02-22 10:09:23 +01001766The request body does not need to include a link:#dashboard-input[
John Spurlockd25fad12013-03-09 11:48:49 -05001767DashboardInput] entity if no commit message is specified.
Edwin Kempin67e923c2013-02-14 13:57:12 +01001768
1769Please note that some proxies prohibit request bodies for DELETE
1770requests.
1771
1772.Request
1773----
1774 DELETE /projects/work%2Fmy-project/dashboards/default HTTP/1.0
1775----
1776
1777.Response
1778----
1779 HTTP/1.1 204 No Content
1780----
1781
Edwin Kempin34d83352013-02-06 10:40:17 +01001782
1783[[ids]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001784== IDs
Edwin Kempin34d83352013-02-06 10:40:17 +01001785
Edwin Kempin196e1732013-05-09 15:12:34 +02001786[[branch-id]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001787=== \{branch-id\}
Edwin Kempin196e1732013-05-09 15:12:34 +02001788The name of a branch or `HEAD`. The prefix `refs/heads/` can be
1789omitted.
1790
Edwin Kempin1b993602014-07-08 16:18:45 +02001791[[commit-id]]
1792=== \{commit-id\}
1793Commit ID.
1794
David Pursehouse8cc68902014-10-06 18:17:16 +09001795[[tag-id]]
1796=== \{tag-id\}
1797The name of a tag. The prefix `refs/tags/` can be omitted.
1798
Edwin Kempin50d3d9b2013-03-06 16:38:26 +01001799[[dashboard-id]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001800=== \{dashboard-id\}
Edwin Kempin67e923c2013-02-14 13:57:12 +01001801The ID of a dashboard in the format '<ref>:<path>'.
1802
1803A special dashboard ID is `default` which represents the default
1804dashboard of a project.
1805
Edwin Kempin50d3d9b2013-03-06 16:38:26 +01001806[[project-name]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001807=== \{project-name\}
Edwin Kempin34d83352013-02-06 10:40:17 +01001808The name of the project.
1809
Edwin Kempina9e94ab2015-03-06 10:35:39 +01001810If the name ends with `.git`, the suffix will be automatically removed.
1811
Edwin Kempin34d83352013-02-06 10:40:17 +01001812
Edwin Kempin51a6dc92013-02-04 15:43:59 +01001813[[json-entities]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001814== JSON Entities
Edwin Kempin51a6dc92013-02-04 15:43:59 +01001815
Edwin Kempin62946742014-07-09 11:17:58 +02001816[[ban-input]]
1817=== BanInput
1818The `BanInput` entity contains information for banning commits in a
1819project.
1820
David Pursehouseae367192014-11-25 17:24:47 +09001821[options="header",cols="1,^2,4"]
Edwin Kempin62946742014-07-09 11:17:58 +02001822|=======================
1823|Field Name||Description
1824|`commits` ||List of commits to be banned.
1825|`reason` |optional|Reason for banning the commits.
1826|=======================
1827
1828[[ban-result-info]]
1829=== BanResultInfo
1830The `BanResultInfo` entity describes the result of banning commits.
1831
David Pursehouseae367192014-11-25 17:24:47 +09001832[options="header",cols="1,^2,4"]
Edwin Kempin62946742014-07-09 11:17:58 +02001833|=============================
1834|Field Name ||Description
1835|`newly_banned` |optional|List of newly banned commits.
1836|`already_banned`|optional|List of commits that were already banned.
1837|`ignored` |optional|List of object IDs that were ignored.
1838|=============================
1839
Edwin Kempin521c1242015-01-23 12:44:44 +01001840[[branch-info]]
1841=== BranchInfo
1842The `BranchInfo` entity contains information about a branch.
1843
1844[options="header",cols="1,^2,4"]
1845|=========================
1846|Field Name ||Description
1847|`ref` ||The ref of the branch.
1848|`revision` ||The revision to which the branch points.
1849|`can_delete`|`false` if not set|
1850Whether the calling user can delete this branch.
1851|`web_links` |optional|
1852Links to the branch in external sites as a list of
1853link:rest-api-changes.html#web-link-info[WebLinkInfo] entries.
1854|=========================
1855
Edwin Kempin5c0d6b32013-05-09 19:54:37 +02001856[[branch-input]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001857=== BranchInput
Edwin Kempin5c0d6b32013-05-09 19:54:37 +02001858The `BranchInput` entity contains information for the creation of
1859a new branch.
1860
David Pursehouseae367192014-11-25 17:24:47 +09001861[options="header",cols="1,^2,4"]
Edwin Kempin5c0d6b32013-05-09 19:54:37 +02001862|=======================
1863|Field Name||Description
1864|`ref` |optional|
1865The name of the branch. The prefix `refs/heads/` can be
1866omitted. +
1867If set, must match the branch ID in the URL.
1868|`revision`|optional|
1869The base revision of the new branch. +
1870If not set, `HEAD` will be used as base revision.
1871|=======================
1872
Edwin Kempin0cb5a562013-07-12 15:41:04 +02001873[[config-info]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001874=== ConfigInfo
Edwin Kempin0cb5a562013-07-12 15:41:04 +02001875The `ConfigInfo` entity contains information about the effective project
1876configuration.
1877
David Pursehouseae367192014-11-25 17:24:47 +09001878[options="header",cols="1,^2,4"]
Deniz Türkoglu52777272014-09-08 17:02:48 +02001879|=======================================================
1880|Field Name ||Description
1881|`description` |optional|
Edwin Kempina23eb102013-07-17 09:10:54 +02001882The description of the project.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001883|`use_contributor_agreements` |optional|
Edwin Kempin0cb5a562013-07-12 15:41:04 +02001884link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
1885authors must complete a contributor agreement on the site before
1886pushing any commits or changes to this project.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001887|`use_content_merge` |optional|
Edwin Kempin0cb5a562013-07-12 15:41:04 +02001888link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
1889Gerrit will try to perform a 3-way merge of text file content when a
1890file has been modified by both the destination branch and the change
1891being submitted. This option only takes effect if submit type is not
1892FAST_FORWARD_ONLY.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001893|`use_signed_off_by` |optional|
Edwin Kempin0cb5a562013-07-12 15:41:04 +02001894link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
1895each change must contain a Signed-off-by line from either the author or
1896the uploader in the commit message.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001897|`create_new_change_for_all_not_in_target` |optional|
1898link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether
1899a new change is created for every commit not in target branch.
1900|`require_change_id` |optional|
Edwin Kempin0cb5a562013-07-12 15:41:04 +02001901link:#inherited-boolean-info[InheritedBooleanInfo] that tells whether a
1902valid link:user-changeid.html[Change-Id] footer in any commit uploaded
1903for review is required. This does not apply to commits pushed directly
1904to a branch or tag.
Edwin Kempin3c99f592013-07-15 10:12:27 +02001905|`max_object_size_limit` ||
1906The link:config-gerrit.html#receive.maxObjectSizeLimit[max object size
1907limit] of this project as a link:#max-object-size-limit-info[
1908MaxObjectSizeLimitInfo] entity.
1909|`submit_type` ||
1910The default submit type of the project, can be `MERGE_IF_NECESSARY`,
1911`FAST_FORWARD_ONLY`, `REBASE_IF_NECESSARY`, `MERGE_ALWAYS` or
1912`CHERRY_PICK`.
1913|`state` |optional|
1914The state of the project, can be `ACTIVE`, `READ_ONLY` or `HIDDEN`. +
1915Not set if the project state is `ACTIVE`.
Edwin Kempin3660c132013-07-16 08:03:11 +02001916|`commentlinks` ||
Edwin Kempin8aa53af2013-07-15 10:43:15 +02001917Map with the comment link configurations of the project. The name of
1918the comment link configuration is mapped to the comment link
1919configuration, which has the same format as the
1920link:config-gerrit.html#_a_id_commentlink_a_section_commentlink[
1921commentlink section] of `gerrit.config`.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001922|`theme` |optional|
Edwin Kempin272402e2013-07-15 11:17:36 +02001923The theme that is configured for the project as a link:#theme-info[
1924ThemeInfo] entity.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001925|`plugin_config` |optional|
Edwin Kempin9ce4f552013-11-15 16:00:00 +01001926Plugin configuration as map which maps the plugin name to a map of
1927parameter names to link:#config-parameter-info[ConfigParameterInfo]
1928entities.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001929|`actions` |optional|
David Ostrovsky9e8b2fb2013-08-30 08:09:53 +02001930Actions the caller might be able to perform on this project. The
1931information is a map of view names to
1932link:rest-api-changes.html#action-info[ActionInfo] entities.
David Pursehouse510b87d2014-11-25 16:46:28 +09001933|=======================================================
Edwin Kempin0cb5a562013-07-12 15:41:04 +02001934
Edwin Kempina23eb102013-07-17 09:10:54 +02001935[[config-input]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08001936=== ConfigInput
Edwin Kempina23eb102013-07-17 09:10:54 +02001937The `ConfigInput` entity describes a new project configuration.
1938
David Pursehouseae367192014-11-25 17:24:47 +09001939[options="header",cols="1,^2,4"]
Deniz Türkoglu52777272014-09-08 17:02:48 +02001940|======================================================
1941|Field Name ||Description
1942|`description` |optional|
Edwin Kempina23eb102013-07-17 09:10:54 +02001943The new description of the project. +
1944If not set, the description is removed.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001945|`use_contributor_agreements` |optional|
Edwin Kempina23eb102013-07-17 09:10:54 +02001946Whether authors must complete a contributor agreement on the site
1947before pushing any commits or changes to this project. +
1948Can be `TRUE`, `FALSE` or `INHERIT`. +
1949If not set, this setting is not updated.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001950|`use_content_merge` |optional|
Edwin Kempina23eb102013-07-17 09:10:54 +02001951Whether Gerrit will try to perform a 3-way merge of text file content
1952when a file has been modified by both the destination branch and the
1953change being submitted. This option only takes effect if submit type is
1954not FAST_FORWARD_ONLY. +
1955Can be `TRUE`, `FALSE` or `INHERIT`. +
1956If not set, this setting is not updated.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001957|`use_signed_off_by` |optional|
Edwin Kempina23eb102013-07-17 09:10:54 +02001958Whether each change must contain a Signed-off-by line from either the
1959author or the uploader in the commit message. +
1960Can be `TRUE`, `FALSE` or `INHERIT`. +
1961If not set, this setting is not updated.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001962|`create_new_change_for_all_not_in_target` |optional|
1963Whether a new change will be created for every commit not in target
1964branch. +
1965Can be `TRUE`, `FALSE` or `INHERIT`. +
1966If not set, this setting is not updated.
1967|`require_change_id` |optional|
Edwin Kempina23eb102013-07-17 09:10:54 +02001968Whether a valid link:user-changeid.html[Change-Id] footer in any commit
1969uploaded for review is required. This does not apply to commits pushed
1970directly to a branch or tag. +
1971Can be `TRUE`, `FALSE` or `INHERIT`. +
1972If not set, this setting is not updated.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001973|`max_object_size_limit` |optional|
Edwin Kempina23eb102013-07-17 09:10:54 +02001974The link:config-gerrit.html#receive.maxObjectSizeLimit[max object size
1975limit] of this project as a link:#max-object-size-limit-info[
1976MaxObjectSizeLimitInfo] entity. +
1977If set to `0`, the max object size limit is removed. +
1978If not set, this setting is not updated.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001979|`submit_type` |optional|
Edwin Kempina23eb102013-07-17 09:10:54 +02001980The default submit type of the project, can be `MERGE_IF_NECESSARY`,
1981`FAST_FORWARD_ONLY`, `REBASE_IF_NECESSARY`, `MERGE_ALWAYS` or
1982`CHERRY_PICK`. +
1983If not set, the submit type is not updated.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001984|`state` |optional|
Edwin Kempina23eb102013-07-17 09:10:54 +02001985The state of the project, can be `ACTIVE`, `READ_ONLY` or `HIDDEN`. +
1986Not set if the project state is `ACTIVE`. +
1987If not set, the project state is not updated.
Deniz Türkoglu52777272014-09-08 17:02:48 +02001988|`plugin_config_values` |optional|
Edwin Kempin9ce4f552013-11-15 16:00:00 +01001989Plugin configuration values as map which maps the plugin name to a map
1990of parameter names to values.
David Pursehouse510b87d2014-11-25 16:46:28 +09001991|======================================================
Edwin Kempina23eb102013-07-17 09:10:54 +02001992
Edwin Kempin9ce4f552013-11-15 16:00:00 +01001993[[config-parameter-info]]
1994ConfigParameterInfo
1995~~~~~~~~~~~~~~~~~~~
1996The `ConfigParameterInfo` entity describes a project configuration
1997parameter.
1998
David Pursehouseae367192014-11-25 17:24:47 +09001999[options="header",cols="1,^2,4"]
Edwin Kempin9ce4f552013-11-15 16:00:00 +01002000|===============================
2001|Field Name ||Description
2002|`display_name` |optional|
2003The display name of the configuration parameter.
Edwin Kempind92196d2014-01-27 21:55:46 +01002004|`description` |optional|
2005The description of the configuration parameter.
Edwin Kempinaec61322014-01-28 12:59:22 +01002006|`warning` |optional|
2007Warning message for the configuration parameter.
Edwin Kempin9ce4f552013-11-15 16:00:00 +01002008|`type` ||
David Ostrovskyc6dd2172014-02-01 19:13:27 +01002009The type of the configuration parameter. Can be `STRING`, `INT`,
2010`LONG`, `BOOLEAN`, `LIST` or `ARRAY`.
Edwin Kempin9ce4f552013-11-15 16:00:00 +01002011|`value` |optional|
Edwin Kempind32beef2013-11-28 20:36:33 +01002012The value of the configuration parameter as string. If the parameter
2013is inheritable this is the effective value which is deduced from
2014`configured_value` and `inherited_value`.
David Ostrovskyc6dd2172014-02-01 19:13:27 +01002015|`values` |optional|
2016The list of values. Only set if the `type` is `ARRAY`.
Edwin Kempin0d485232013-11-17 18:55:48 +01002017`editable` |`false` if not set|
2018Whether the value is editable.
Edwin Kempin20f256fb2013-11-28 19:56:15 +01002019|`permitted_values`|optional|
David Ostrovskyc6dd2172014-02-01 19:13:27 +01002020The list of permitted values. Only set if the `type` is `LIST`.
Edwin Kempind32beef2013-11-28 20:36:33 +01002021|`inheritable` |`false` if not set|
2022Whether the configuration parameter can be inherited.
2023|`configured_value`|optional|
2024The value of the configuration parameter that is configured on this
2025project, only set if `inheritable` is true.
2026|`inherited_value` |optional|
2027The inherited value of the configuration parameter, only set if
2028`inheritable` is true.
2029|`permitted_values` |optional|
2030The list of permitted values, only set if the `type` is `LIST`.
Edwin Kempin9ce4f552013-11-15 16:00:00 +01002031|===============================
2032
Edwin Kempin55367622013-02-05 09:09:23 +01002033[[dashboard-info]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08002034=== DashboardInfo
Edwin Kempin55367622013-02-05 09:09:23 +01002035The `DashboardInfo` entity contains information about a project
2036dashboard.
2037
David Pursehouseae367192014-11-25 17:24:47 +09002038[options="header",cols="1,^2,4"]
Edwin Kempin55367622013-02-05 09:09:23 +01002039|===============================
2040|Field Name ||Description
Edwin Kempin55367622013-02-05 09:09:23 +01002041|`id` ||
2042The ID of the dashboard. The ID has the format '<ref>:<path>',
2043where ref and path are URL encoded.
2044|`project` ||
2045The name of the project for which this dashboard is returned.
2046|`defining_project`||
2047The name of the project in which this dashboard is defined.
2048This is different from `project` if the dashboard is inherited from a
2049parent project.
2050|`ref` ||
2051The name of the ref in which the dashboard is defined, without the
2052`refs/meta/dashboards/` prefix, which is common for all dashboard refs.
2053|`path` ||
2054The path of the file in which the dashboard is defined.
2055|`description` |optional|The description of the dashboard.
2056|`foreach` |optional|
2057Subquery that applies to all sections in the dashboard. +
2058Tokens such as `${project}` are not resolved.
2059|`url` ||
David Pursehousea1d633b2014-05-02 17:21:02 +09002060The URL under which the dashboard can be opened in the Gerrit Web UI. +
Edwin Kempin55367622013-02-05 09:09:23 +01002061The URL is relative to the canonical web URL. +
2062Tokens in the queries such as `${project}` are resolved.
2063|`default` |not set if `false`|
2064Whether this is the default dashboard of the project.
2065|`title` |optional|The title of the dashboard.
2066|`sections` ||
2067The list of link:#dashboard-section-info[sections] in the dashboard.
2068|===============================
2069
Edwin Kempin67e923c2013-02-14 13:57:12 +01002070[[dashboard-input]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08002071=== DashboardInput
Edwin Kempin67e923c2013-02-14 13:57:12 +01002072The `DashboardInput` entity contains information to create/update a
2073project dashboard.
2074
David Pursehouseae367192014-11-25 17:24:47 +09002075[options="header",cols="1,^2,4"]
Edwin Kempin67e923c2013-02-14 13:57:12 +01002076|=============================
2077|Field Name ||Description
2078|`id` |optional|
Edwin Kempinc95c5082013-03-12 16:56:25 +01002079URL encoded ID of a dashboard to which this dashboard should link to.
Edwin Kempin67e923c2013-02-14 13:57:12 +01002080|`commit_message`|optional|
2081Message that should be used to commit the change of the dashboard.
2082|=============================
2083
Edwin Kempin55367622013-02-05 09:09:23 +01002084[[dashboard-section-info]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08002085=== DashboardSectionInfo
Edwin Kempin55367622013-02-05 09:09:23 +01002086The `DashboardSectionInfo` entity contains information about a section
2087in a dashboard.
2088
David Pursehouseae367192014-11-25 17:24:47 +09002089[options="header",cols="1,6"]
Edwin Kempin55367622013-02-05 09:09:23 +01002090|===========================
2091|Field Name |Description
2092|`name` |The title of the section.
2093|`query` |The query of the section. +
2094Tokens such as `${project}` are not resolved.
2095|===========================
2096
Hugo Arèsef8e3202015-01-12 15:09:06 -05002097[[delete-branches-input]]
2098=== DeleteBranchesInput
2099The `DeleteBranchesInput` entity contains information about branches that should
2100be deleted.
2101
2102[options="header",width="50%",cols="1,6"]
2103|==========================
2104|Field Name |Description
2105|`branches` |A list of branch names that identify the branches that should be
2106deleted.
2107|==========================
2108
Edwin Kempin4bdc72d2013-11-13 13:30:49 +01002109[[gc-input]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08002110=== GCInput
Edwin Kempin4bdc72d2013-11-13 13:30:49 +01002111The `GCInput` entity contains information to run the Git garbage
2112collection.
2113
David Pursehouseae367192014-11-25 17:24:47 +09002114[options="header",cols="1,^2,4"]
Edwin Kempin4bdc72d2013-11-13 13:30:49 +01002115|=============================
2116|Field Name ||Description
2117|`show_progress` |`false` if not set|
2118Whether progress information should be shown.
2119|=============================
2120
Edwin Kempin6b813372013-03-13 17:07:33 +01002121[[head-input]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08002122=== HeadInput
Edwin Kempin6b813372013-03-13 17:07:33 +01002123The `HeadInput` entity contains information for setting `HEAD` for a
2124project.
2125
David Pursehouseae367192014-11-25 17:24:47 +09002126[options="header",cols="1,6"]
Edwin Kempin6b813372013-03-13 17:07:33 +01002127|============================
2128|Field Name |Description
2129|`ref` |
2130The ref to which `HEAD` should be set, the `refs/heads` prefix can be
2131omitted.
2132|============================
2133
Edwin Kempin0cb5a562013-07-12 15:41:04 +02002134[[inherited-boolean-info]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08002135=== InheritedBooleanInfo
Edwin Kempin0cb5a562013-07-12 15:41:04 +02002136A boolean value that can also be inherited.
2137
David Pursehouseae367192014-11-25 17:24:47 +09002138[options="header",cols="1,^2,4"]
Edwin Kempin0cb5a562013-07-12 15:41:04 +02002139|================================
2140|Field Name ||Description
2141|`value` ||
2142The effective boolean value.
2143|`configured_value` ||
2144The configured value, can be `TRUE`, `FALSE` or `INHERITED`.
2145|`inherited_value` |optional|
2146The boolean value inherited from the parent. +
2147Not set if there is no parent.
2148|================================
2149
Edwin Kempin3c99f592013-07-15 10:12:27 +02002150[[max-object-size-limit-info]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08002151=== MaxObjectSizeLimitInfo
Edwin Kempin3c99f592013-07-15 10:12:27 +02002152The `MaxObjectSizeLimitInfo` entity contains information about the
2153link:config-gerrit.html#receive.maxObjectSizeLimit[max object size
2154limit] of a project.
2155
David Pursehouseae367192014-11-25 17:24:47 +09002156[options="header",cols="1,^2,4"]
Edwin Kempin3c99f592013-07-15 10:12:27 +02002157|===============================
2158|Field Name ||Description
2159|`value` |optional|
2160The effective value of the max object size limit as a formatted string. +
2161Not set if there is no limit for the object size.
2162|`configured_value`|optional|
2163The max object size limit that is configured on the project as a
2164formatted string. +
2165Not set if there is no limit for the object size configured on project
2166level.
2167|`inherited_value` |optional|
2168The max object size limit that is inherited as a formatted string. +
2169Not set if there is no global limit for the object size.
2170|===============================
2171
Edwin Kempin57f303c2013-02-13 15:52:22 +01002172[[project-description-input]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08002173=== ProjectDescriptionInput
Edwin Kempin57f303c2013-02-13 15:52:22 +01002174The `ProjectDescriptionInput` entity contains information for setting a
2175project description.
2176
David Pursehouseae367192014-11-25 17:24:47 +09002177[options="header",cols="1,^2,4"]
Edwin Kempin57f303c2013-02-13 15:52:22 +01002178|=============================
2179|Field Name ||Description
2180|`description` |optional|The project description. +
2181The project description will be deleted if not set.
2182|`commit_message`|optional|
2183Message that should be used to commit the change of the project
2184description in the `project.config` file to the `refs/meta/config`
2185branch.
2186|=============================
2187
Edwin Kempin51a6dc92013-02-04 15:43:59 +01002188[[project-info]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08002189=== ProjectInfo
Edwin Kempin51a6dc92013-02-04 15:43:59 +01002190The `ProjectInfo` entity contains information about a project.
2191
David Pursehouseae367192014-11-25 17:24:47 +09002192[options="header",cols="1,^2,4"]
Edwin Kempin51a6dc92013-02-04 15:43:59 +01002193|===========================
2194|Field Name ||Description
Edwin Kempin51a6dc92013-02-04 15:43:59 +01002195|`id` ||The URL encoded project name.
2196|`name` |
2197not set if returned in a map where the project name is used as map key|
2198The name of the project.
Edwin Kempinf3611822013-03-19 08:23:09 +01002199|`parent` |optional|
Edwin Kempin51a6dc92013-02-04 15:43:59 +01002200The name of the parent project. +
2201`?-<n>` if the parent project is not visible (`<n>` is a number which
2202is increased for each non-visible project).
2203|`description` |optional|The description of the project.
Shawn Pearce21a6c212014-04-23 12:35:10 -07002204|`state` |optional|`ACTIVE`, `READ_ONLY` or `HIDDEN`.
Edwin Kempin51a6dc92013-02-04 15:43:59 +01002205|`branches` |optional|Map of branch names to HEAD revisions.
Edwin Kempin26c95a42014-11-25 16:29:47 +01002206|`web_links` |optional|
Edwin Kempinea004752014-04-11 15:56:02 +02002207Links to the project in external sites as a list of
2208link:rest-api-changes.html#web-link-info[WebLinkInfo] entries.
Edwin Kempin51a6dc92013-02-04 15:43:59 +01002209|===========================
2210
Bruce Zu798ea122013-02-18 16:55:43 +08002211[[project-input]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08002212=== ProjectInput
Bruce Zu798ea122013-02-18 16:55:43 +08002213The `ProjectInput` entity contains information for the creation of
2214a new project.
2215
David Pursehouseae367192014-11-25 17:24:47 +09002216[options="header",cols="1,^2,4"]
Bruce Zu798ea122013-02-18 16:55:43 +08002217|=========================================
2218|Field Name ||Description
2219|`name` |optional|
2220The name of the project (not encoded). +
David Pursehouse8c5ad412015-02-03 14:19:09 +09002221If set, must match the project name in the URL. +
2222If name ends with `.git` the suffix will be automatically removed.
Bruce Zu798ea122013-02-18 16:55:43 +08002223|`parent` |optional|
2224The name of the parent project. +
2225If not set, the `All-Projects` project will be the parent project.
2226|`description` |optional|The description of the project.
2227|`permissions_only` |`false` if not set|
2228Whether a permission-only project should be created.
2229|`create_empty_commit` |`false` if not set|
2230Whether an empty initial commit should be created.
2231|`submit_type` |optional|
2232The submit type that should be set for the project
2233(`MERGE_IF_NECESSARY`, `REBASE_IF_NECESSARY`, `FAST_FORWARD_ONLY`,
2234`MERGE_ALWAYS`, `CHERRY_PICK`). +
Edwin Kempina79ea552013-11-19 11:24:37 +01002235If not set, `MERGE_IF_NECESSARY` is set as submit type unless
2236link:config-gerrit.html#repository.name.defaultSubmitType[
2237repository.<name>.defaultSubmitType] is set to a different value.
Bruce Zu798ea122013-02-18 16:55:43 +08002238|`branches` |optional|
2239A list of branches that should be initially created. +
2240For the branch names the `refs/heads/` prefix can be omitted.
2241|`owners` |optional|
2242A list of groups that should be assigned as project owner. +
2243Each group in the list must be specified as
2244link:rest-api-groups.html#group-id[group-id]. +
2245If not set, the link:config-gerrit.html#repository.name.ownerGroup[
2246groups that are configured as default owners] are set as project
2247owners.
Deniz Türkoglu52777272014-09-08 17:02:48 +02002248|`use_contributor_agreements` |`INHERIT` if not set|
Bruce Zu798ea122013-02-18 16:55:43 +08002249Whether contributor agreements should be used for the project (`TRUE`,
2250`FALSE`, `INHERIT`).
Deniz Türkoglu52777272014-09-08 17:02:48 +02002251|`use_signed_off_by` |`INHERIT` if not set|
Bruce Zu798ea122013-02-18 16:55:43 +08002252Whether the usage of 'Signed-Off-By' footers is required for the
2253project (`TRUE`, `FALSE`, `INHERIT`).
Deniz Türkoglu52777272014-09-08 17:02:48 +02002254|`create_new_change_for_all_not_in_target` |`INHERIT` if not set|
2255Whether a new change is created for every commit not in target branch
2256for the project (`TRUE`, `FALSE`, `INHERIT`).
2257|`use_content_merge` |`INHERIT` if not set|
Bruce Zu798ea122013-02-18 16:55:43 +08002258Whether content merge should be enabled for the project (`TRUE`,
2259`FALSE`, `INHERIT`). +
2260`FALSE`, if the `submit_type` is `FAST_FORWARD_ONLY`.
Deniz Türkoglu52777272014-09-08 17:02:48 +02002261|`require_change_id` |`INHERIT` if not set|
Bruce Zu798ea122013-02-18 16:55:43 +08002262Whether the usage of Change-Ids is required for the project (`TRUE`,
2263`FALSE`, `INHERIT`).
Sasa Zivkov6b40cb42013-07-01 15:28:22 +02002264|`max_object_size_limit` |optional|
2265Max allowed Git object size for this project.
2266Common unit suffixes of 'k', 'm', or 'g' are supported.
Edwin Kempinfb053c32013-12-04 20:32:41 +01002267|`plugin_config_values` |optional|
2268Plugin configuration values as map which maps the plugin name to a map
2269of parameter names to values.
Bruce Zu798ea122013-02-18 16:55:43 +08002270|=========================================
2271
Edwin Kempinecad88c2013-02-14 12:09:44 +01002272[[project-parent-input]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08002273=== ProjectParentInput
Edwin Kempinecad88c2013-02-14 12:09:44 +01002274The `ProjectParentInput` entity contains information for setting a
2275project parent.
2276
David Pursehouseae367192014-11-25 17:24:47 +09002277[options="header",cols="1,^2,4"]
Edwin Kempinecad88c2013-02-14 12:09:44 +01002278|=============================
2279|Field Name ||Description
2280|`parent` ||The name of the parent project.
2281|`commit_message`|optional|
2282Message that should be used to commit the change of the project parent
2283in the `project.config` file to the `refs/meta/config` branch.
2284|=============================
2285
Edwin Kempin87504d92014-07-04 12:59:19 +02002286[[reflog-entry-info]]
2287=== ReflogEntryInfo
2288The `ReflogEntryInfo` entity describes an entry in a reflog.
2289
David Pursehouseae367192014-11-25 17:24:47 +09002290[options="header",cols="1,6"]
Edwin Kempin87504d92014-07-04 12:59:19 +02002291|============================
2292|Field Name |Description
2293|`old_id` |The old commit ID.
2294|`new_id` |The new commit ID.
2295|`who` |
2296The user performing the change as a
2297link:rest-api-changes.html#git-person-info[GitPersonInfo] entity.
2298|`comment` |Comment of the reflog entry.
2299|============================
2300
Edwin Kempin19ea9b92013-03-20 13:20:26 +01002301[[repository-statistics-info]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08002302=== RepositoryStatisticsInfo
Edwin Kempin19ea9b92013-03-20 13:20:26 +01002303The `RepositoryStatisticsInfo` entity contains information about
2304statistics of a Git repository.
2305
David Pursehouseae367192014-11-25 17:24:47 +09002306[options="header",cols="1,6"]
Edwin Kempin19ea9b92013-03-20 13:20:26 +01002307|======================================
2308|Field Name |Description
2309|`number_of_loose_objects` |Number of loose objects.
2310|`number_of_loose_refs` |Number of loose refs.
2311|`number_of_pack_files` |Number of pack files.
2312|`number_of_packed_objects`|Number of packed objects.
2313|`number_of_packed_refs` |Number of packed refs.
2314|`size_of_loose_objects` |Size of loose objects in bytes.
2315|`size_of_packed_objects` |Size of packed objects in bytes.
2316|======================================
2317
David Pursehouse8cc68902014-10-06 18:17:16 +09002318[[tag-info]]
2319=== TagInfo
2320The `TagInfo` entity contains information about a tag.
2321
David Pursehouseae367192014-11-25 17:24:47 +09002322[options="header",cols="1,^2,4"]
David Pursehouse8cc68902014-10-06 18:17:16 +09002323|=========================
2324|Field Name ||Description
2325|`ref` ||The ref of the tag.
2326|`revision` ||For lightweight tags, the revision of the commit to which the tag
2327points. For annotated tags, the revision of the tag object.
2328|`object`|Only set for annotated tags.|The revision of the object to which the
2329tag points.
2330|`message`|Only set for annotated tags.|The tag message. For signed tags, includes
2331the signature.
David Pursehousec9f5a5a2015-12-07 19:13:16 +09002332|`tagger`|Only set for annotated tags, if present in the tag.|The tagger as a
David Pursehouse8cc68902014-10-06 18:17:16 +09002333link:rest-api-changes.html#git-person-info[GitPersonInfo] entity.
2334|=========================
2335
Edwin Kempin272402e2013-07-15 11:17:36 +02002336[[theme-info]]
Yuxuan 'fishy' Wang61698b12013-12-20 12:55:51 -08002337=== ThemeInfo
Edwin Kempin272402e2013-07-15 11:17:36 +02002338The `ThemeInfo` entity describes a theme.
2339
David Pursehouseae367192014-11-25 17:24:47 +09002340[options="header",cols="1,^2,4"]
Edwin Kempin272402e2013-07-15 11:17:36 +02002341|=============================
2342|Field Name ||Description
2343|`css` |optional|
2344The path to the `GerritSite.css` file.
2345|`header` |optional|
2346The path to the `GerritSiteHeader.html` file.
2347|`footer` |optional|
2348The path to the `GerritSiteFooter.html` file.
2349|=============================
2350
Edwin Kempind0a63922013-01-23 16:32:59 +01002351
2352GERRIT
2353------
2354Part of link:index.html[Gerrit Code Review]
Yuxuan 'fishy' Wang99cb68d2013-10-31 17:26:00 -07002355
2356SEARCHBOX
2357---------