blob: f169dcd6a157aa98ac0de42b0bb80aa20b4f429f [file] [log] [blame]
Edwin Kempin2eebd142013-03-06 15:28:34 +01001Gerrit Code Review - /projects/ REST API
2========================================
Edwin Kempind0a63922013-01-23 16:32:59 +01003
4This page describes the project related REST endpoints.
5Please also take note of the general information on the
6link:rest-api.html[REST API].
7
8Endpoints
9---------
10
Edwin Kempinc3fe3cb2013-02-13 15:09:23 +010011[[project-endpoints]]
12Project Endpoints
13-----------------
14
Edwin Kempin76202742013-02-15 13:51:50 +010015[[list-projects]]
Edwin Kempin50d3d9b2013-03-06 16:38:26 +010016List Projects
17~~~~~~~~~~~~~
18[verse]
19'GET /projects/'
20
Edwin Kempind0a63922013-01-23 16:32:59 +010021Lists the projects accessible by the caller. This is the same as
22using the link:cmd-ls-projects.html[ls-projects] command over SSH,
23and accepts the same options as query parameters.
24
Edwin Kempin51a6dc92013-02-04 15:43:59 +010025As result a map is returned that maps the project names to
26link:#project-info[ProjectInfo] entries. The entries in the map are sorted
27by project name.
28
Edwin Kempin37440832013-02-06 11:36:00 +010029.Request
Edwin Kempind0a63922013-01-23 16:32:59 +010030----
31 GET /projects/?d HTTP/1.0
Edwin Kempin37440832013-02-06 11:36:00 +010032----
Edwin Kempind0a63922013-01-23 16:32:59 +010033
Edwin Kempin37440832013-02-06 11:36:00 +010034.Response
35----
Edwin Kempind0a63922013-01-23 16:32:59 +010036 HTTP/1.1 200 OK
37 Content-Disposition: attachment
38 Content-Type: application/json;charset=UTF-8
39
40 )]}'
41 {
42 "external/bison": {
43 "kind": "gerritcodereview#project",
44 "id": "external%2Fbison",
45 "description": "GNU parser generator"
46 },
47 "external/gcc": {
48 "kind": "gerritcodereview#project",
49 "id": "external%2Fgcc",
50 },
51 "external/openssl": {
52 "kind": "gerritcodereview#project",
53 "id": "external%2Fopenssl",
54 "description": "encryption\ncrypto routines"
55 },
56 "test": {
57 "kind": "gerritcodereview#project",
58 "id": "test",
59 "description": "\u003chtml\u003e is escaped"
60 }
61 }
62----
63
Edwin Kempina64c4b92013-01-23 11:30:40 +010064.Get all projects with their description
65****
66get::/projects/?d
67****
68
Edwin Kempind0a63922013-01-23 16:32:59 +010069[[suggest-projects]]
70The `/projects/` URL also accepts a prefix string in the `p` parameter.
71This limits the results to those projects that start with the specified
72prefix.
73List all projects that start with `platform/`:
Edwin Kempin37440832013-02-06 11:36:00 +010074
75.Request
Edwin Kempind0a63922013-01-23 16:32:59 +010076----
77 GET /projects/?p=platform%2F HTTP/1.0
Edwin Kempin37440832013-02-06 11:36:00 +010078----
Edwin Kempind0a63922013-01-23 16:32:59 +010079
Edwin Kempin37440832013-02-06 11:36:00 +010080.Response
81----
Edwin Kempind0a63922013-01-23 16:32:59 +010082 HTTP/1.1 200 OK
83 Content-Disposition: attachment
84 Content-Type: application/json;charset=UTF-8
85
86 )]}'
87 {
88 "platform/drivers": {
89 "kind": "gerritcodereview#project",
90 "id": "platform%2Fdrivers",
91 },
92 "platform/tools": {
93 "kind": "gerritcodereview#project",
94 "id": "platform%2Ftools",
95 }
96 }
97----
98E.g. this feature can be used by suggestion client UI's to limit results.
99
Edwin Kempin5c544e22013-03-06 13:35:45 +0100100[[get-project]]
101Get Project
102~~~~~~~~~~~
103[verse]
104'GET /projects/link:#project-name[\{project-name\}]'
105
106Retrieves a project.
107
108.Request
109----
110 GET /projects/plugins%2Freplication HTTP/1.0
111----
112
113As response a link:#project-info[ProjectInfo] entity is returned that
114describes the project.
115
116.Response
117----
118 HTTP/1.1 200 OK
119 Content-Disposition: attachment
120 Content-Type: application/json;charset=UTF-8
121
122 )]}'
123 {
124 "kind": "gerritcodereview#project",
125 "id": "plugins%2Freplication",
126 "name": "plugins/replication",
127 "parent": "Public-Plugins",
128 "description": "Copies to other servers using the Git protocol"
129 }
130----
131
Bruce Zu798ea122013-02-18 16:55:43 +0800132[[create-project]]
133Create Project
134~~~~~~~~~~~~~~
135[verse]
136'PUT /projects/link:#project-name[\{project-name\}]'
137
138Creates a new project.
139
140In the request body additional data for the project can be provided as
141link:#project-input[ProjectInput].
142
143.Request
144----
145 PUT /projects/MyProject HTTP/1.0
146 Content-Type: application/json;charset=UTF-8
147
148 {
149 "description": "This is a demo project.",
150 "submit_type": "CHERRY_PICK",
151 "owners": [
152 "MyProject-Owners"
153 ]
154 }
155----
156
157As response the link:#project-info[ProjectInfo] entity is returned that
158describes the created project.
159
160.Response
161----
162 HTTP/1.1 201 Created
163 Content-Disposition: attachment
164 Content-Type: application/json;charset=UTF-8
165
166 )]}'
167 {
168 "kind": "gerritcodereview#project",
169 "id": "MyProject",
170 "name": "MyProject",
171 "parent": "All-Projects",
172 "description": "This is a demo project."
173 }
174----
175
Edwin Kempin57f303c2013-02-13 15:52:22 +0100176[[get-project-description]]
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100177Get Project Description
178~~~~~~~~~~~~~~~~~~~~~~~
179[verse]
180'GET /projects/link:#project-name[\{project-name\}]/description'
181
Edwin Kempin57f303c2013-02-13 15:52:22 +0100182Retrieves the description of a project.
183
184.Request
185----
186 GET /projects/plugins%2Freplication/description HTTP/1.0
187----
188
189.Response
190----
191 HTTP/1.1 200 OK
192 Content-Disposition: attachment
193 Content-Type: application/json;charset=UTF-8
194
195 )]}'
196 "Copies to other servers using the Git protocol"
197----
198
Edwin Kempinefec4492013-02-22 10:09:23 +0100199If the project does not have a description an empty string is returned.
200
Edwin Kempin57f303c2013-02-13 15:52:22 +0100201[[set-project-description]]
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100202Set Project Description
203~~~~~~~~~~~~~~~~~~~~~~~
204[verse]
205'PUT /projects/link:#project-name[\{project-name\}]/description'
206
Edwin Kempin57f303c2013-02-13 15:52:22 +0100207Sets the description of a project.
208
209The new project description must be provided in the request body inside
210a link:#project-description-input[ProjectDescriptionInput] entity.
211
212.Request
213----
214 PUT /projects/plugins%2Freplication/description HTTP/1.0
215 Content-Type: application/json;charset=UTF-8
216
217 {
218 "description": "Plugin for Gerrit that handles the replication.",
219 "commit_message": "Update the project description"
220 }
221----
222
223As response the new project description is returned.
224
225.Response
226----
227 HTTP/1.1 200 OK
228 Content-Disposition: attachment
229 Content-Type: application/json;charset=UTF-8
230
231 )]}'
232 "Plugin for Gerrit that handles the replication."
233----
234
Edwin Kempin114ab162013-02-28 09:25:37 +0100235If the description was deleted the response is "`204 No Content`".
236
Edwin Kempin57f303c2013-02-13 15:52:22 +0100237[[delete-project-description]]
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100238Delete Project Description
239~~~~~~~~~~~~~~~~~~~~~~~~~~
240[verse]
241'DELETE /projects/link:#project-name[\{project-name\}]/description'
242
Edwin Kempin57f303c2013-02-13 15:52:22 +0100243Deletes the description of a project.
244
Edwin Kempinefec4492013-02-22 10:09:23 +0100245The request body does not need to include a
246link:#project-description-input[ProjectDescriptionInput] entity if no
247commit message is specified.
Edwin Kempin57f303c2013-02-13 15:52:22 +0100248
Edwin Kempinefec4492013-02-22 10:09:23 +0100249Please note that some proxies prohibit request bodies for DELETE
Edwin Kempin57f303c2013-02-13 15:52:22 +0100250requests. In this case, if you want to specify a commit message, use
251link:#set-project-description[PUT] to delete the description.
252
253.Request
254----
255 DELETE /projects/plugins%2Freplication/description HTTP/1.0
256----
257
258.Response
259----
260 HTTP/1.1 204 No Content
261----
262
Edwin Kempinecad88c2013-02-14 12:09:44 +0100263[[get-project-parent]]
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100264Get Project Parent
265~~~~~~~~~~~~~~~~~~
266[verse]
267'GET /projects/link:#project-name[\{project-name\}]/parent'
268
Edwin Kempinecad88c2013-02-14 12:09:44 +0100269Retrieves the name of a project's parent project. For the
270`All-Projects` root project an empty string is returned.
271
272.Request
273----
274 GET /projects/plugins%2Freplication/parent HTTP/1.0
275----
276
277.Response
278----
279 HTTP/1.1 200 OK
280 Content-Disposition: attachment
281 Content-Type: application/json;charset=UTF-8
282
283 )]}'
284 "All-Projects"
285----
286
287[[set-project-parent]]
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100288Set Project Parent
289~~~~~~~~~~~~~~~~~~
290[verse]
291'PUT /projects/link:#project-name[\{project-name\}]/parent'
292
Edwin Kempinecad88c2013-02-14 12:09:44 +0100293Sets the parent project for a project.
294
295The new name of the parent project must be provided in the request body
296inside a link:#project-parent-input[ProjectParentInput] entity.
297
298.Request
299----
300 PUT /projects/plugins%2Freplication/parent HTTP/1.0
301 Content-Type: application/json;charset=UTF-8
302
303 {
304 "parent": "Public-Plugins",
305 "commit_message": "Update the project parent"
306 }
307----
308
309As response the new parent project name is returned.
310
311.Response
312----
313 HTTP/1.1 200 OK
314 Content-Disposition: attachment
315 Content-Type: application/json;charset=UTF-8
316
317 )]}'
318 "Public-Plugins"
319----
320
Edwin Kempin6b813372013-03-13 17:07:33 +0100321[[get-head]]
322Get HEAD
323~~~~~~~~
324[verse]
325'GET /projects/link:#project-name[\{project-name\}]/HEAD'
326
327Retrieves for a project the name of the branch to which `HEAD` points.
328
329.Request
330----
331 GET /projects/plugins%2Freplication/HEAD HTTP/1.0
332----
333
334.Response
335----
336 HTTP/1.1 200 OK
337 Content-Disposition: attachment
338 Content-Type: application/json;charset=UTF-8
339
340 )]}'
341 "refs/heads/master"
342----
343
344[[set-head]]
345Set HEAD
346~~~~~~~~
347[verse]
348'PUT /projects/link:#project-name[\{project-name\}]/HEAD'
349
350Sets `HEAD` for a project.
351
352The new ref to which `HEAD` should point must be provided in the
353request body inside a link:#head-input[HeadInput] entity.
354
355.Request
356----
357 PUT /projects/plugins%2Freplication/HEAD HTTP/1.0
358 Content-Type: application/json;charset=UTF-8
359
360 {
361 "ref": "refs/heads/stable"
362 }
363----
364
365As response the new ref to which `HEAD` points is returned.
366
367.Response
368----
369 HTTP/1.1 200 OK
370 Content-Disposition: attachment
371 Content-Type: application/json;charset=UTF-8
372
373 )]}'
374 "refs/heads/stable"
375----
376
Edwin Kempin19ea9b92013-03-20 13:20:26 +0100377[[get-repository-statistics]]
378Get Repository Statistics
379~~~~~~~~~~~~~~~~~~~~~~~~~
380[verse]
381'GET /projects/link:#project-name[\{project-name\}]/statistics.git'
382
383Return statistics for the repository of a project.
384
385.Request
386----
387 GET /projects/plugins%2Freplication/statistics.git HTTP/1.0
388----
389
390The repository statistics are returned as a
391link:#repository-statistics-info[RepositoryStatisticsInfo] entity.
392
393.Response
394----
395 HTTP/1.1 200 OK
396 Content-Disposition: attachment
397 Content-Type: application/json;charset=UTF-8
398
399 )]}'
400 {
401 "number_of_loose_objects": 127,
402 "number_of_loose_refs": 15,
403 "number_of_pack_files": 15,
404 "number_of_packed_objects": 67,
405 "number_of_packed_refs": 0,
406 "size_of_loose_objects": 29466,
407 "size_of_packed_objects": 9646
408 }
409----
410
Dave Borowitz237073a2013-04-04 16:52:27 -0700411[[get-config]]
412Get Config
413~~~~~~~~~~
414[verse]
415'GET /projects/link:#project-name[\{project-name\}]/config'
416
417Gets some configuration information about a project. Note that this
418config info is not simply the contents of `project.config`; it generally
419contains fields that may have been inherited from parent projects.
420
421.Request
422----
423 GET /projects/myproject/config
424----
425
426A link:#config-info[ConfigInfo] entity is returned that describes the
427project configuration. Some fields are only visible to users that have
428read access to `refs/meta/config`.
429
430.Response
431----
432 HTTP/1.1 200 OK
433 Content-Disposition: attachment
434 Content-Type: application/json;charset=UTF-8
435
436 )]}'
437 {
438 "kind": "gerritcodereview#project_config",
439 "use_contributor_agreements": false,
440 "use_content_merge": true,
441 "use_signed_off_by": false,
Dave Borowitz20027892013-04-08 10:42:23 -0700442 "require_change_id": true,
443 "commentlinks": {}
Dave Borowitz237073a2013-04-04 16:52:27 -0700444 }
445----
446
Edwin Kempinef3542f2013-03-19 13:31:49 +0100447[[run-gc]]
448Run GC
449~~~~~~
450[verse]
451'POST /projects/link:#project-name[\{project-name\}]/gc'
452
453Run the Git garbage collection for the repository of a project.
454
455.Request
456----
457 POST /projects/plugins%2Freplication/gc HTTP/1.0
458----
459
460The response is the streamed output of the garbage collection.
461
462.Response
463----
464 HTTP/1.1 200 OK
465 Content-Disposition: attachment
466 Content-Type: text/plain;charset=UTF-8
467
468 collecting garbage for "plugins/replication":
469 Pack refs: 100% (21/21)
470 Counting objects: 20
471 Finding sources: 100% (20/20)
472 Getting sizes: 100% (13/13)
473 Compressing objects: 83% (5/6)
474 Writing objects: 100% (20/20)
475 Selecting commits: 100% (7/7)
476 Building bitmaps: 100% (7/7)
477 Finding sources: 100% (41/41)
478 Getting sizes: 100% (25/25)
479 Compressing objects: 52% (12/23)
480 Writing objects: 100% (41/41)
481 Prune loose objects also found in pack files: 100% (36/36)
482 Prune loose, unreferenced objects: 100% (36/36)
483 done.
484----
485
Edwin Kempin4425c742013-03-18 13:23:00 +0100486[[child-project-endpoints]]
487Child Project Endpoints
488-----------------------
489
490[[list-child-projects]]
491List Child Projects
492~~~~~~~~~~~~~~~~~~~
493[verse]
494'GET /projects/link:#project-name[\{project-name\}]/children/'
495
496List the direct child projects of a project.
497
498.Request
499----
500 GET /projects/Public-Plugins/children/ HTTP/1.0
501----
502
503As result a list of link:#project-info[ProjectInfo] entries is
504returned that describe the child projects.
505
506.Response
507----
508 HTTP/1.1 200 OK
509 Content-Disposition: attachment
510 Content-Type: application/json;charset=UTF-8
511
512 )]}'
513 [
514 {
515 "kind": "gerritcodereview#project",
516 "id": "plugins%2Freplication",
517 "name": "plugins/replication",
518 "parent": "Public-Plugins",
519 "description": "Copies to other servers using the Git protocol"
520 },
521 {
522 "kind": "gerritcodereview#project",
523 "id": "plugins%2Freviewnotes",
524 "name": "plugins/reviewnotes",
525 "parent": "Public-Plugins",
526 "description": "Annotates merged commits using notes on refs/notes/review."
527 },
528 {
529 "kind": "gerritcodereview#project",
530 "id": "plugins%2Fsingleusergroup",
531 "name": "plugins/singleusergroup",
532 "parent": "Public-Plugins",
533 "description": "GroupBackend enabling users to be directly added to access rules"
534 }
535 ]
536----
537
Edwin Kempinc3fe3cb2013-02-13 15:09:23 +0100538[[dashboard-endpoints]]
539Dashboard Endpoints
540-------------------
541
Edwin Kempin76202742013-02-15 13:51:50 +0100542[[list-dashboards]]
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100543List Dashboards
544~~~~~~~~~~~~~~~
545[verse]
546'GET /projects/link:#project-name[\{project-name\}]/dashboards/'
547
Edwin Kempind0a63922013-01-23 16:32:59 +0100548List custom dashboards for a project.
549
Edwin Kempin55367622013-02-05 09:09:23 +0100550As result a list of link:#dashboard-info[DashboardInfo] entries is
551returned.
552
Edwin Kempind0a63922013-01-23 16:32:59 +0100553List all dashboards for the `work/my-project` project:
Edwin Kempin37440832013-02-06 11:36:00 +0100554
555.Request
Edwin Kempind0a63922013-01-23 16:32:59 +0100556----
557 GET /projects/work%2Fmy-project/dashboards/ HTTP/1.0
Edwin Kempin37440832013-02-06 11:36:00 +0100558----
Edwin Kempind0a63922013-01-23 16:32:59 +0100559
Edwin Kempin37440832013-02-06 11:36:00 +0100560.Response
561----
Edwin Kempind0a63922013-01-23 16:32:59 +0100562 HTTP/1.1 200 OK
563 Content-Disposition: attachment
564 Content-Type: application/json;charset=UTF-8
565
566 )]}'
567 [
568 {
569 "kind": "gerritcodereview#dashboard",
570 "id": "main:closed",
571 "ref": "main",
572 "path": "closed",
573 "description": "Merged and abandoned changes in last 7 weeks",
574 "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
575 "default": true,
576 "title": "Closed changes",
577 "sections": [
578 {
579 "name": "Merged",
580 "query": "status:merged age:7w"
581 },
582 {
583 "name": "Abandoned",
584 "query": "status:abandoned age:7w"
585 }
586 ]
587 }
588 ]
589----
590
Edwin Kempina64c4b92013-01-23 11:30:40 +0100591.Get all dashboards of the 'All-Projects' project
592****
593get::/projects/All-Projects/dashboards/
594****
595
Edwin Kempin67e923c2013-02-14 13:57:12 +0100596[[get-dashboard]]
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100597Get Dashboard
598~~~~~~~~~~~~~
599[verse]
600'GET /projects/link:#project-name[\{project-name\}]/dashboards/link:#dashboard-id[\{dashboard-id\}]'
601
Edwin Kempin67e923c2013-02-14 13:57:12 +0100602Retrieves a project dashboard. The dashboard can be defined on that
603project or be inherited from a parent project.
604
605.Request
606----
607 GET /projects/work%2Fmy-project/dashboards/main:closed HTTP/1.0
608----
609
610As response a link:#dashboard-info[DashboardInfo] entity is returned
611that describes the dashboard.
612
613.Response
614----
615 HTTP/1.1 200 OK
616 Content-Disposition: attachment
617 Content-Type: application/json;charset=UTF-8
618
619 )]}'
620 {
621 "kind": "gerritcodereview#dashboard",
622 "id": "main:closed",
623 "ref": "main",
624 "path": "closed",
625 "description": "Merged and abandoned changes in last 7 weeks",
626 "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
627 "default": true,
628 "title": "Closed changes",
629 "sections": [
630 {
631 "name": "Merged",
632 "query": "status:merged age:7w"
633 },
634 {
635 "name": "Abandoned",
636 "query": "status:abandoned age:7w"
637 }
638 ]
639 }
640----
641
642To retrieve the default dashboard of a project use `default` as
643dashboard-id.
Edwin Kempin37440832013-02-06 11:36:00 +0100644
645.Request
Edwin Kempind0a63922013-01-23 16:32:59 +0100646----
647 GET /projects/work%2Fmy-project/dashboards/default HTTP/1.0
Edwin Kempin37440832013-02-06 11:36:00 +0100648----
Edwin Kempind0a63922013-01-23 16:32:59 +0100649
Edwin Kempin37440832013-02-06 11:36:00 +0100650.Response
651----
Edwin Kempind0a63922013-01-23 16:32:59 +0100652 HTTP/1.1 200 OK
653 Content-Disposition: attachment
654 Content-Type: application/json;charset=UTF-8
655
656 )]}'
657 {
658 "kind": "gerritcodereview#dashboard",
659 "id": "main:closed",
660 "ref": "main",
661 "path": "closed",
Edwin Kempin67e923c2013-02-14 13:57:12 +0100662 "description": "Merged and abandoned changes in last 7 weeks",
663 "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
Edwin Kempind0a63922013-01-23 16:32:59 +0100664 "default": true,
Edwin Kempin67e923c2013-02-14 13:57:12 +0100665 "title": "Closed changes",
666 "sections": [
667 {
668 "name": "Merged",
669 "query": "status:merged age:7w"
670 },
671 {
672 "name": "Abandoned",
673 "query": "status:abandoned age:7w"
674 }
675 ]
Edwin Kempind0a63922013-01-23 16:32:59 +0100676 }
677----
678
Edwin Kempin67e923c2013-02-14 13:57:12 +0100679[[set-dashboard]]
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100680Set Dashboard
681~~~~~~~~~~~~~
682[verse]
683'PUT /projects/link:#project-name[\{project-name\}]/dashboards/link:#dashboard-id[\{dashboard-id\}]'
684
Edwin Kempin67e923c2013-02-14 13:57:12 +0100685Updates/Creates a project dashboard.
686
687Currently only supported for the `default` dashboard.
688
689The creation/update information for the dashboard must be provided in
690the request body as a link:#dashboard-input[DashboardInput] entity.
691
692.Request
693----
694 PUT /projects/work%2Fmy-project/dashboards/default HTTP/1.0
695 Content-Type: application/json;charset=UTF-8
696
697 {
698 "id": "main:closed",
699 "commit_message": "Define the default dashboard"
700 }
701----
702
703As response the new/updated dashboard is returned as a
704link:#dashboard-info[DashboardInfo] entity.
705
706.Response
707----
708 HTTP/1.1 200 OK
709 Content-Disposition: attachment
710 Content-Type: application/json;charset=UTF-8
711
712 )]}'
713 {
714 "kind": "gerritcodereview#dashboard",
715 "id": "main:closed",
716 "ref": "main",
717 "path": "closed",
718 "description": "Merged and abandoned changes in last 7 weeks",
719 "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
720 "default": true,
721 "title": "Closed changes",
722 "sections": [
723 {
724 "name": "Merged",
725 "query": "status:merged age:7w"
726 },
727 {
728 "name": "Abandoned",
729 "query": "status:abandoned age:7w"
730 }
731 ]
732 }
733----
734
735[[delete-dashboard]]
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100736Delete Dashboard
737~~~~~~~~~~~~~~~~
738[verse]
739'DELETE /projects/link:#project-name[\{project-name\}]/dashboards/link:#dashboard-id[\{dashboard-id\}]'
740
Edwin Kempin67e923c2013-02-14 13:57:12 +0100741Deletes a project dashboard.
742
743Currently only supported for the `default` dashboard.
744
Edwin Kempinefec4492013-02-22 10:09:23 +0100745The request body does not need to include a link:#dashboard-input[
John Spurlockd25fad12013-03-09 11:48:49 -0500746DashboardInput] entity if no commit message is specified.
Edwin Kempin67e923c2013-02-14 13:57:12 +0100747
748Please note that some proxies prohibit request bodies for DELETE
749requests.
750
751.Request
752----
753 DELETE /projects/work%2Fmy-project/dashboards/default HTTP/1.0
754----
755
756.Response
757----
758 HTTP/1.1 204 No Content
759----
760
Edwin Kempin34d83352013-02-06 10:40:17 +0100761
762[[ids]]
763IDs
764---
765
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100766[[dashboard-id]]
Edwin Kempin67e923c2013-02-14 13:57:12 +0100767\{dashboard-id\}
768~~~~~~~~~~~~~~~~
769The ID of a dashboard in the format '<ref>:<path>'.
770
771A special dashboard ID is `default` which represents the default
772dashboard of a project.
773
Edwin Kempin50d3d9b2013-03-06 16:38:26 +0100774[[project-name]]
Edwin Kempin34d83352013-02-06 10:40:17 +0100775\{project-name\}
776~~~~~~~~~~~~~~~~
777The name of the project.
778
779
Edwin Kempin51a6dc92013-02-04 15:43:59 +0100780[[json-entities]]
781JSON Entities
782-------------
783
Edwin Kempin55367622013-02-05 09:09:23 +0100784[[dashboard-info]]
785DashboardInfo
786~~~~~~~~~~~~~
787The `DashboardInfo` entity contains information about a project
788dashboard.
789
790[options="header",width="50%",cols="1,^2,4"]
791|===============================
792|Field Name ||Description
793|`kind` ||`gerritcodereview#dashboard`
794|`id` ||
795The ID of the dashboard. The ID has the format '<ref>:<path>',
796where ref and path are URL encoded.
797|`project` ||
798The name of the project for which this dashboard is returned.
799|`defining_project`||
800The name of the project in which this dashboard is defined.
801This is different from `project` if the dashboard is inherited from a
802parent project.
803|`ref` ||
804The name of the ref in which the dashboard is defined, without the
805`refs/meta/dashboards/` prefix, which is common for all dashboard refs.
806|`path` ||
807The path of the file in which the dashboard is defined.
808|`description` |optional|The description of the dashboard.
809|`foreach` |optional|
810Subquery that applies to all sections in the dashboard. +
811Tokens such as `${project}` are not resolved.
812|`url` ||
813The URL under which the dashboard can be opened in the Gerrit WebUI. +
814The URL is relative to the canonical web URL. +
815Tokens in the queries such as `${project}` are resolved.
816|`default` |not set if `false`|
817Whether this is the default dashboard of the project.
818|`title` |optional|The title of the dashboard.
819|`sections` ||
820The list of link:#dashboard-section-info[sections] in the dashboard.
821|===============================
822
Edwin Kempin67e923c2013-02-14 13:57:12 +0100823[[dashboard-input]]
824DashboardInput
825~~~~~~~~~~~~~~
826The `DashboardInput` entity contains information to create/update a
827project dashboard.
828
829[options="header",width="50%",cols="1,^2,4"]
830|=============================
831|Field Name ||Description
832|`id` |optional|
Edwin Kempinc95c5082013-03-12 16:56:25 +0100833URL encoded ID of a dashboard to which this dashboard should link to.
Edwin Kempin67e923c2013-02-14 13:57:12 +0100834|`commit_message`|optional|
835Message that should be used to commit the change of the dashboard.
836|=============================
837
Edwin Kempin55367622013-02-05 09:09:23 +0100838[[dashboard-section-info]]
839DashboardSectionInfo
840~~~~~~~~~~~~~~~~~~~~
841The `DashboardSectionInfo` entity contains information about a section
842in a dashboard.
843
844[options="header",width="50%",cols="1,6"]
845|===========================
846|Field Name |Description
847|`name` |The title of the section.
848|`query` |The query of the section. +
849Tokens such as `${project}` are not resolved.
850|===========================
851
Edwin Kempin6b813372013-03-13 17:07:33 +0100852[[head-input]]
853HeadInput
854~~~~~~~~~
855The `HeadInput` entity contains information for setting `HEAD` for a
856project.
857
858[options="header",width="50%",cols="1,6"]
859|============================
860|Field Name |Description
861|`ref` |
862The ref to which `HEAD` should be set, the `refs/heads` prefix can be
863omitted.
864|============================
865
Edwin Kempin57f303c2013-02-13 15:52:22 +0100866[[project-description-input]]
867ProjectDescriptionInput
868~~~~~~~~~~~~~~~~~~~~~~~
869The `ProjectDescriptionInput` entity contains information for setting a
870project description.
871
872[options="header",width="50%",cols="1,^2,4"]
873|=============================
874|Field Name ||Description
875|`description` |optional|The project description. +
876The project description will be deleted if not set.
877|`commit_message`|optional|
878Message that should be used to commit the change of the project
879description in the `project.config` file to the `refs/meta/config`
880branch.
881|=============================
882
Edwin Kempin51a6dc92013-02-04 15:43:59 +0100883[[project-info]]
884ProjectInfo
885~~~~~~~~~~~
886The `ProjectInfo` entity contains information about a project.
887
888[options="header",width="50%",cols="1,^2,4"]
889|===========================
890|Field Name ||Description
891|`kind` ||`gerritcodereview#project`
892|`id` ||The URL encoded project name.
893|`name` |
894not set if returned in a map where the project name is used as map key|
895The name of the project.
Edwin Kempinf3611822013-03-19 08:23:09 +0100896|`parent` |optional|
Edwin Kempin51a6dc92013-02-04 15:43:59 +0100897The name of the parent project. +
898`?-<n>` if the parent project is not visible (`<n>` is a number which
899is increased for each non-visible project).
900|`description` |optional|The description of the project.
901|`branches` |optional|Map of branch names to HEAD revisions.
902|===========================
903
Bruce Zu798ea122013-02-18 16:55:43 +0800904[[project-input]]
905ProjectInput
906~~~~~~~~~~~~
907The `ProjectInput` entity contains information for the creation of
908a new project.
909
910[options="header",width="50%",cols="1,^2,4"]
911|=========================================
912|Field Name ||Description
913|`name` |optional|
914The name of the project (not encoded). +
915If set, must match the project name in the URL.
916|`parent` |optional|
917The name of the parent project. +
918If not set, the `All-Projects` project will be the parent project.
919|`description` |optional|The description of the project.
920|`permissions_only` |`false` if not set|
921Whether a permission-only project should be created.
922|`create_empty_commit` |`false` if not set|
923Whether an empty initial commit should be created.
924|`submit_type` |optional|
925The submit type that should be set for the project
926(`MERGE_IF_NECESSARY`, `REBASE_IF_NECESSARY`, `FAST_FORWARD_ONLY`,
927`MERGE_ALWAYS`, `CHERRY_PICK`). +
928If not set, `MERGE_IF_NECESSARY` is set as submit type.
929|`branches` |optional|
930A list of branches that should be initially created. +
931For the branch names the `refs/heads/` prefix can be omitted.
932|`owners` |optional|
933A list of groups that should be assigned as project owner. +
934Each group in the list must be specified as
935link:rest-api-groups.html#group-id[group-id]. +
936If not set, the link:config-gerrit.html#repository.name.ownerGroup[
937groups that are configured as default owners] are set as project
938owners.
939|`use_contributor_agreements`|`INHERIT` if not set|
940Whether contributor agreements should be used for the project (`TRUE`,
941`FALSE`, `INHERIT`).
942|`use_signed_off_by` |`INHERIT` if not set|
943Whether the usage of 'Signed-Off-By' footers is required for the
944project (`TRUE`, `FALSE`, `INHERIT`).
945|`use_content_merge` |`INHERIT` if not set|
946Whether content merge should be enabled for the project (`TRUE`,
947`FALSE`, `INHERIT`). +
948`FALSE`, if the `submit_type` is `FAST_FORWARD_ONLY`.
949|`require_change_id` |`INHERIT` if not set|
950Whether the usage of Change-Ids is required for the project (`TRUE`,
951`FALSE`, `INHERIT`).
952|=========================================
953
Edwin Kempinecad88c2013-02-14 12:09:44 +0100954[[project-parent-input]]
955ProjectParentInput
956~~~~~~~~~~~~~~~~~~
957The `ProjectParentInput` entity contains information for setting a
958project parent.
959
960[options="header",width="50%",cols="1,^2,4"]
961|=============================
962|Field Name ||Description
963|`parent` ||The name of the parent project.
964|`commit_message`|optional|
965Message that should be used to commit the change of the project parent
966in the `project.config` file to the `refs/meta/config` branch.
967|=============================
968
Edwin Kempin19ea9b92013-03-20 13:20:26 +0100969[[repository-statistics-info]]
970RepositoryStatisticsInfo
971~~~~~~~~~~~~~~~~~~~~~~~~
972The `RepositoryStatisticsInfo` entity contains information about
973statistics of a Git repository.
974
975[options="header",width="50%",cols="1,6"]
976|======================================
977|Field Name |Description
978|`number_of_loose_objects` |Number of loose objects.
979|`number_of_loose_refs` |Number of loose refs.
980|`number_of_pack_files` |Number of pack files.
981|`number_of_packed_objects`|Number of packed objects.
982|`number_of_packed_refs` |Number of packed refs.
983|`size_of_loose_objects` |Size of loose objects in bytes.
984|`size_of_packed_objects` |Size of packed objects in bytes.
985|======================================
986
Dave Borowitz237073a2013-04-04 16:52:27 -0700987[[config-info]]
988ConfigInfo
989~~~~~~~~~~
990The `ConfigInfo` entity contains information about the effective project
991configuration.
992
993Fields marked with * are only visible to users who have read access to
994`refs/meta/config`.
995
996[options="header",width="50%",cols="1,6"]
997|======================================
998|Field Name |Description
999|`use_contributor_agreements*`|
1000If set, authors must complete a contributor agreement on the site
1001before pushing any commits or changes to this project.
1002|`use_content_merge*`|
1003If set, Gerrit will try to perform a 3-way merge of text file content
1004when a file has been modified by both the destination branch and the
1005change being submitted. This option only takes effect if submit type is
1006not FAST_FORWARD_ONLY.
1007|`use_signed_off_by*`|
1008If set, each change must contain a Signed-off-by line from either the
1009author or the uploader in the commit message.
1010|`require_change_id*`|
1011If set, require a valid link:user-changeid.html[Change-Id] footer in any
1012commit uploaded for review. This does not apply to commits pushed
1013directly to a branch or tag.
Dave Borowitz20027892013-04-08 10:42:23 -07001014|`commentlinks`|
1015Comment link configuration for the project. Has the same format as the
1016link:config-gerrit.html#_a_id_commentlink_a_section_commentlink[commentlink section]
1017of `gerrit.config`.
Dave Borowitz237073a2013-04-04 16:52:27 -07001018|======================================
1019
Edwin Kempind0a63922013-01-23 16:32:59 +01001020
1021GERRIT
1022------
1023Part of link:index.html[Gerrit Code Review]