This page describes the project related REST endpoints. Please also take note of the general information on the REST API.
GET /projects/
Lists the projects accessible by the caller. This is the same as using the ls-projects command over SSH, and accepts the same options as query parameters.
As result a map is returned that maps the project names to ProjectInfo entries. The entries in the map are sorted by project name.
Request.
GET /projects/?d HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "external/bison": { "id": "external%2Fbison", "description": "GNU parser generator" }, "external/gcc": { "id": "external%2Fgcc" }, "external/openssl": { "id": "external%2Fopenssl", "description": "encryption\ncrypto routines" }, "test": { "id": "test", "description": "\u003chtml\u003e is escaped" } }
Branch(b)
Limit the results to the projects having the specified branch and include the sha1 of the branch in the results.
Get projects that have a master branch:
Request.
GET /projects/?b=master HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "some-project": { "id": "some-project", "branches": { "master": "c5ed9dfcbf002ca0e432d788dab6ca2387829ca7" } }, "some-other-project": { "id": "some-other-project", "branches": { "master": "ef1c270142f9581ecf768f4193fc8f8a81102ec2" } }, }
Description(d)
Include project description in the results.
Get all the projects with their description:
Request.
GET /projects/?d HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "some-project": { "id": "some-project", "description": "Description of some project." }, "some-other-project": { "id": "some-other-project", "description": "Description of some other project." } }, }
Limit(n)
Limit the number of projects to be included in the results.
Query the first project in the project list:
Request.
GET /projects/?n=1 HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "some-project": { "id": "some-project" } }
Prefix(p)
Limit the results to those projects that start with the specified prefix.
The match is case sensitive. May not be used together with m
or r
.
List all projects that start with platform/
:
Request.
GET /projects/?p=platform%2F HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "platform/drivers": { "id": "platform%2Fdrivers" }, "platform/tools": { "id": "platform%2Ftools" } }
E.g. this feature can be used by suggestion client UI’s to limit results.
Regex(r)
Limit the results to those projects that match the specified regex.
Boundary matchers ^ and $ are implicit. For example: the regex test.* will match any projects that start with test and regex .*test will match any project that end with test.
The match is case sensitive. May not be used together with m
or p
.
List all projects that match regex test.*project
:
Request.
GET /projects/?r=test.*project HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "test/some-project": { "id": "test%2Fsome-project" }, "test/some-other-project": { "id": "test%2Fsome-other-project" } }
Skip(S)
Skip the given number of projects from the beginning of the list.
Query the second project in the project list:
Request.
GET /projects/?n=1&S=1 HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "some-other-project": { "id": "some-other-project" } }
Substring(m)
Limit the results to those projects that match the specified substring.
The match is case insensitive. May not be used together with r
or p
.
List all projects that match substring test/
:
Request.
GET /projects/?m=test%2F HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "test/some-project": { "id": "test%2Fsome-project" }, "some-path/test/some-other-project": { "id": "some-path%2Ftest%2Fsome-other-project" } }
Tree(t)
Get projects inheritance in a tree-like format. This option does not work together with the branch option.
Get all the projects with tree option:
Request.
GET /projects/?t HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "All-Projects" { "id": "All-Projects" }, "child-project": { "id": "child-project", "parent":"parent-project" }, "parent-project": { "id": "parent-project", "parent":"All-Projects" } }
Type(type)
Get projects with specified type: ALL, CODE, PERMISSIONS.
Get all the projects of type PERMISSIONS:
Request.
GET /projects/?type=PERMISSIONS HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "All-Projects" { "id": "All-Projects" }, "some-parent-project": { "id": "some-parent-project" } }
GET /projects/{project-name}
Retrieves a project.
Request.
GET /projects/plugins%2Freplication HTTP/1.0
As response a ProjectInfo entity is returned that describes the project.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "id": "plugins%2Freplication", "name": "plugins/replication", "parent": "Public-Plugins", "description": "Copies to other servers using the Git protocol", "state": "ACTIVE", "labels": { "Code-Review": { "values": { " 0": "No score", "+1": "Approved" }, "default_value": 0 } } }
PUT /projects/{project-name}
Creates a new project.
In the request body additional data for the project can be provided as ProjectInput.
Request.
PUT /projects/MyProject HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "description": "This is a demo project.", "submit_type": "CHERRY_PICK", "owners": [ "MyProject-Owners" ] }
As response the ProjectInfo entity is returned that describes the created project.
Response.
HTTP/1.1 201 Created Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "id": "MyProject", "name": "MyProject", "parent": "All-Projects", "description": "This is a demo project.", "labels": { "Code-Review": { "values": { " 0": "No score", "+1": "Approved" }, "default_value": 0 } } }
GET /projects/{project-name}/description
Retrieves the description of a project.
Request.
GET /projects/plugins%2Freplication/description HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' "Copies to other servers using the Git protocol"
If the project does not have a description an empty string is returned.
PUT /projects/{project-name}/description
Sets the description of a project.
The new project description must be provided in the request body inside a ProjectDescriptionInput entity.
Request.
PUT /projects/plugins%2Freplication/description HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "description": "Plugin for Gerrit that handles the replication.", "commit_message": "Update the project description" }
As response the new project description is returned.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' "Plugin for Gerrit that handles the replication."
If the description was deleted the response is “204 No Content
”.
DELETE /projects/{project-name}/description
Deletes the description of a project.
The request body does not need to include a ProjectDescriptionInput entity if no commit message is specified.
Please note that some proxies prohibit request bodies for DELETE requests. In this case, if you want to specify a commit message, use PUT to delete the description.
Request.
DELETE /projects/plugins%2Freplication/description HTTP/1.0
Response.
HTTP/1.1 204 No Content
GET /projects/{project-name}/parent
Retrieves the name of a project’s parent project. For the All-Projects
root project an empty string is returned.
Request.
GET /projects/plugins%2Freplication/parent HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' "All-Projects"
PUT /projects/{project-name}/parent
Sets the parent project for a project.
The new name of the parent project must be provided in the request body inside a ProjectParentInput entity.
Request.
PUT /projects/plugins%2Freplication/parent HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "parent": "Public-Plugins", "commit_message": "Update the project parent" }
As response the new parent project name is returned.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' "Public-Plugins"
GET /projects/{project-name}/HEAD
Retrieves for a project the name of the branch to which HEAD
points.
Request.
GET /projects/plugins%2Freplication/HEAD HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' "refs/heads/master"
PUT /projects/{project-name}/HEAD
Sets HEAD
for a project.
The new ref to which HEAD
should point must be provided in the request body inside a HeadInput entity.
Request.
PUT /projects/plugins%2Freplication/HEAD HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "ref": "refs/heads/stable" }
As response the new ref to which HEAD
points is returned.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' "refs/heads/stable"
GET /projects/{project-name}/statistics.git
Return statistics for the repository of a project.
Request.
GET /projects/plugins%2Freplication/statistics.git HTTP/1.0
The repository statistics are returned as a RepositoryStatisticsInfo entity.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "number_of_loose_objects": 127, "number_of_loose_refs": 15, "number_of_pack_files": 15, "number_of_packed_objects": 67, "number_of_packed_refs": 0, "size_of_loose_objects": 29466, "size_of_packed_objects": 9646 }
GET /projects/{project-name}/config
Gets some configuration information about a project. Note that this config info is not simply the contents of project.config
; it generally contains fields that may have been inherited from parent projects.
Request.
GET /projects/myproject/config
A ConfigInfo entity is returned that describes the project configuration. Some fields are only visible to users that have read access to refs/meta/config
.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "description": "demo project", "use_contributor_agreements": { "value": true, "configured_value": "TRUE", "inherited_value": false }, "use_content_merge": { "value": true, "configured_value": "INHERIT", "inherited_value": true }, "use_signed_off_by": { "value": false, "configured_value": "INHERIT", "inherited_value": false }, "create_new_change_for_all_not_in_target": { "value": false, "configured_value": "INHERIT", "inherited_value": false }, "require_change_id": { "value": false, "configured_value": "FALSE", "inherited_value": true }, "max_object_size_limit": { "value": "15m", "configured_value": "15m", "inherited_value": "20m" }, "submit_type": "MERGE_IF_NECESSARY", "state": "ACTIVE", "commentlinks": {}, "plugin_config": { "helloworld": { "language": { "display_name": "Preferred Language", "type": "STRING", "value": "en" } } }, "actions": { "cookbook~hello-project": { "method": "POST", "label": "Say hello", "title": "Say hello in different languages", "enabled": true } } }
PUT /projects/{project-name}/config
Sets the configuration of a project.
The new configuration must be provided in the request body as a ConfigInput entity.
Request.
PUT /projects/myproject/config HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "description": "demo project", "use_contributor_agreements": "FALSE", "use_content_merge": "INHERIT", "use_signed_off_by": "INHERIT", "create_new_change_for_all_not_in_target": "INHERIT", "enable_signed_push": "INHERIT", "require_signed_push": "INHERIT", "reject_implicit_merges": "INHERIT", "require_change_id": "TRUE", "max_object_size_limit": "10m", "submit_type": "REBASE_IF_NECESSARY", "state": "ACTIVE" }
As response the new configuration is returned as a ConfigInfo entity.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "use_contributor_agreements": { "value": false, "configured_value": "FALSE", "inherited_value": false }, "use_content_merge": { "value": true, "configured_value": "INHERIT", "inherited_value": true }, "use_signed_off_by": { "value": false, "configured_value": "INHERIT", "inherited_value": false }, "create_new_change_for_all_not_in_target": { "value": true, "configured_value": "INHERIT", "inherited_value": false }, "require_change_id": { "value": true, "configured_value": "TRUE", "inherited_value": true }, "enable_signed_push": { "value": true, "configured_value": "INHERIT", "inherited_value": false }, "require_signed_push": { "value": false, "configured_value": "INHERIT", "inherited_value": false }, "reject_implicit_merges": { "value": false, "configured_value": "INHERIT", "inherited_value": false }, "max_object_size_limit": { "value": "10m", "configured_value": "10m", "inherited_value": "20m" }, "submit_type": "REBASE_IF_NECESSARY", "state": "ACTIVE", "commentlinks": {} }
POST /projects/{project-name}/gc
Run the Git garbage collection for the repository of a project.
Options for the Git garbage collection can be specified in the request body as a GCInput entity.
Request.
POST /projects/plugins%2Freplication/gc HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "show_progress": true }
The response is the streamed output of the garbage collection.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: text/plain; charset=UTF-8 collecting garbage for "plugins/replication": Pack refs: 100% (21/21) Counting objects: 20 Finding sources: 100% (20/20) Getting sizes: 100% (13/13) Compressing objects: 83% (5/6) Writing objects: 100% (20/20) Selecting commits: 100% (7/7) Building bitmaps: 100% (7/7) Finding sources: 100% (41/41) Getting sizes: 100% (25/25) Compressing objects: 52% (12/23) Writing objects: 100% (41/41) Prune loose objects also found in pack files: 100% (36/36) Prune loose, unreferenced objects: 100% (36/36) done.
The option async
allows to schedule a background task that asynchronously executes a Git garbage collection.
The Location
header of the response refers to the background task which allows to inspect the progress of its execution. In case of asynchronous execution the show_progress
option is ignored.
Request.
POST /projects/plugins%2Freplication/gc HTTP/1.0 Content-Type: application/json;charset=UTF-8 { "async": true }
The response is empty.
Response.
HTTP/1.1 202 Accepted Content-Disposition: attachment Location: https:<host>/a/config/server/tasks/383a0602
PUT /projects/{project-name}/ban
Marks commits as banned for the project. If a commit is banned Gerrit rejects every push that includes this commit with contains banned commit ….
Note
This REST endpoint only marks the commits as banned, but it does not remove the commits from the history of any central branch. This needs to be done manually.
The commits to be banned must be specified in the request body as a BanInput entity.
The caller must be project owner.
Request.
PUT /projects/plugins%2Freplication/ban HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "commits": [ "a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96", "cf5b56541f84b8b57e16810b18daca9c3adc377b" ], "reason": "Violates IP" }
As response a BanResultInfo entity is returned.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "newly_banned": [ "a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96", "cf5b56541f84b8b57e16810b18daca9c3adc377b" ] }
GET /projects/{project-name}/access
Lists the access rights for a single project.
As result a ProjectAccessInfo entity is returned.
Request.
GET /projects/MyProject/access HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 )]}' { "revision": "61157ed63e14d261b6dca40650472a9b0bd88474", "inherits_from": { "id": "All-Projects", "name": "All-Projects", "description": "Access inherited by all other projects." }, "local": { "refs/*": { "permissions": { "read": { "rules": { "c2ce4749a32ceb82cd6adcce65b8216e12afb41c": { "action": "ALLOW", "force": false }, "global:Anonymous-Users": { "action": "ALLOW", "force": false } } } } } }, "is_owner": true, "owner_of": [ "refs/*" ], "can_upload": true, "can_add": true, "config_visible": true, "groups": { "c2ce4749a32ceb82cd6adcce65b8216e12afb41c": { "url": "#/admin/groups/uuid-c2ce4749a32ceb82cd6adcce65b8216e12afb41c", "options": {}, "description": "Users who perform batch actions on Gerrit", "group_id": 2, "owner": "Administrators", "owner_id": "d5b7124af4de52924ed397913e2c3b37bf186948", "created_on": "2009-06-08 23:31:00.000000000", "name": "Non-Interactive Users" }, "global:Anonymous-Users": { "options": {}, "name": "Anonymous Users" } } }
POST /projects/{project-name}/access
Sets access rights for the project using the diff schema provided by ProjectAccessInput. Deductions are used to remove access sections, permissions or permission rules. The backend will remove the entity with the finest granularity in the request, meaning that if an access section without permissions is posted, the access section will be removed; if an access section with a permission but no permission rules is posted, the permission will be removed; if an access section with a permission and a permission rule is posted, the permission rule will be removed.
Additionally, access sections and permissions will be cleaned up after applying the deductions by removing items that have no child elements.
After removals have been applied, additions will be applied.
As result a ProjectAccessInfo entity is returned.
Request.
POST /projects/MyProject/access HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "remove": [ "refs/*": { "permissions": { "read": { "rules": { "c2ce4749a32ceb82cd6adcce65b8216e12afb41c": { "action": "ALLOW" } } } } } ] }
Response.
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 )]}' { "revision": "61157ed63e14d261b6dca40650472a9b0bd88474", "inherits_from": { "id": "All-Projects", "name": "All-Projects", "description": "Access inherited by all other projects." }, "local": { "refs/*": { "permissions": { "read": { "rules": { "global:Anonymous-Users": { "action": "ALLOW", "force": false } } } } } }, "is_owner": true, "owner_of": [ "refs/*" ], "can_upload": true, "can_add": true, "config_visible": true, "groups": { "global:Anonymous-Users": { "options": {}, "name": "Anonymous Users" } } }
'PUT /projects/{project-name}/access:review
Sets access rights for the project using the diff schema provided by ProjectAccessInput
This takes the same input as Update Access Rights, but creates a pending change for review. Like Create Change, it returns a ChangeInfo entity describing the resulting change.
Request.
PUT /projects/MyProject/access:review HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "add":{ "refs/heads/*":{ "permissions":{ "read":{ "rules":{ "global:Anonymous-Users": { "action":"DENY", "force":false } } } } } } }
Response.
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 )]}' { "id": "testproj~refs%2Fmeta%2Fconfig~Ieaf185bf90a1fc3b58461e399385e158a20b31a2", "project": "testproj", "branch": "refs/meta/config", "hashtags": [], "change_id": "Ieaf185bf90a1fc3b58461e399385e158a20b31a2", "subject": "Review access change", "status": "NEW", "created": "2017-09-07 14:31:11.852000000", "updated": "2017-09-07 14:31:11.852000000", "submit_type": "CHERRY_PICK", "mergeable": true, "insertions": 2, "deletions": 0, "unresolved_comment_count": 0, "has_review_started": true, "_number": 7, "owner": { "_account_id": 1000000 } }
POST /projects/MyProject/check.access
Runs access checks for other users. This requires the Administrate Server global capability.
Input for the access checks that should be run must be provided in the request body inside a AccessCheckInput entity.
Request.
POST /projects/MyProject/check.access HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "account": "Kristen.Burns@gerritcodereview.com", "ref": "refs/heads/secret/bla" }
The result is a AccessCheckInfo entity detailing the read access of the given user for the given project (or project-ref combination).
Response.
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 )]}' { "message": "user Kristen Burns \u003cKristen.Burns@gerritcodereview.com\u003e (1000098) cannot see ref refs/heads/secret/bla in project MyProject", "status": 403 }
Adds or updates all the changes belonging to a project in the secondary index. The indexing task is executed asynchronously in background, so this command returns immediately.
Request.
POST /projects/MyProject/index HTTP/1.0
Response.
HTTP/1.1 202 Accepted Content-Disposition: attachment
GET /projects/{project-name}/branches/
List the branches of a project.
As result a list of BranchInfo entries is returned.
Request.
GET /projects/work%2Fmy-project/branches/ HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "ref": "HEAD", "revision": "master" }, { "ref": "refs/meta/config", "revision": "76016386a0d8ecc7b6be212424978bb45959d668" }, { "ref": "refs/heads/master", "revision": "67ebf73496383c6777035e374d2d664009e2aa5c" }, { "ref": "refs/heads/stable", "revision": "64ca533bd0eb5252d2fee83f63da67caae9b4674", "can_delete": true } ]
Limit(n)
Limit the number of branches to be included in the results.
Request.
GET /projects/testproject/branches?n=1 HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "ref": "HEAD", "revision": "master", "can_delete": false } ]
Skip(S)
Skip the given number of branches from the beginning of the list.
Request.
GET /projects/testproject/branches?n=1&s=0 HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "ref": "HEAD", "revision": "master", "can_delete": false } ]
Substring(m)
Limit the results to those branches that match the specified substring.
The match is case insensitive. May not be used together with r
.
List all branches that match substring test
:
Request.
GET /projects/testproject/branches?m=test HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "ref": "refs/heads/test1", "revision": "9c9d08a438e55e52f33b608415e6dddd9b18550d", "can_delete": true } ]
Regex(r)
Limit the results to those branches that match the specified regex. Boundary matchers ^ and $ are implicit. For example: the regex t* will match any branches that start with t and regex *t will match any branches that end with t.
The match is case sensitive. May not be used together with m
.
List all branches that match regex t.*1
:
Request.
GET /projects/testproject/branches?r=t.*1 HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "ref": "refs/heads/test1", "revision": "9c9d08a438e55e52f33b608415e6dddd9b18550d", "can_delete": true } ]
GET /projects/{project-name}/branches/{branch-id}
Retrieves a branch of a project.
Request.
GET /projects/work%2Fmy-project/branches/master HTTP/1.0
As response a BranchInfo entity is returned that describes the branch.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "ref": "refs/heads/master", "revision": "67ebf73496383c6777035e374d2d664009e2aa5c" }
PUT /projects/{project-name}/branches/{branch-id}
Creates a new branch.
In the request body additional data for the branch can be provided as BranchInput.
Request.
PUT /projects/MyProject/branches/stable HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "revision": "76016386a0d8ecc7b6be212424978bb45959d668" }
As response a BranchInfo entity is returned that describes the created branch.
Response.
HTTP/1.1 201 Created Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "ref": "refs/heads/stable", "revision": "76016386a0d8ecc7b6be212424978bb45959d668", "can_delete": true }
DELETE /projects/{project-name}/branches/{branch-id}
Deletes a branch.
Request.
DELETE /projects/MyProject/branches/stable HTTP/1.0
Response.
HTTP/1.1 204 No Content
POST /projects/{project-name}/branches:delete
Delete one or more branches.
The branches to be deleted must be provided in the request body as a DeleteBranchesInput entity.
Request.
POST /projects/MyProject/branches:delete HTTP/1.0 Content-Type: application/json;charset=UTF-8 { "branches": [ "stable-1.0", "stable-2.0" ] }
Response.
HTTP/1.1 204 No Content
If some branches could not be deleted, the response is “409 Conflict
” and the error message is contained in the response body.
GET /projects/{project-name}/branches/{branch-id}/files/{file-id}/content
Gets the content of a file from the HEAD revision of a certain branch.
Request.
GET /projects/gerrit/branches/master/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/content HTTP/1.0
The content is returned as base64 encoded string.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: text/plain; charset=UTF-8 Ly8gQ29weXJpZ2h0IChDKSAyMDEwIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY...
GET /projects/{project-name}/branches/{branch-id}/mergeable
Gets whether the source is mergeable with the target branch.
The source
query parameter is required, which can be anything that could be resolved to a commit, see examples of the source
attribute in MergeInput.
Also takes an optional parameter strategy
, which can be recursive
, resolve
, simple-two-way-in-core
, ours
or theirs
, default will use project settings.
Request.
GET /projects/test/branches/master/mergeable?source=testbranch&strategy=recursive HTTP/1.0
As response a MergeableInfo entity is returned.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "submit_type": "MERGE_IF_NECESSARY", "strategy": "recursive", "mergeable": true, "commit_merged": false, "content_merged": false }
or when there were conflicts.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "submit_type": "MERGE_IF_NECESSARY", "strategy": "recursive", "mergeable": false, "conflicts": [ "common.txt", "shared.txt" ] }
or when the testbranch has been already merged.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "submit_type": "MERGE_IF_NECESSARY", "strategy": "recursive", "mergeable": true, "commit_merged": true, "content_merged": true }
or when only the content of testbranch has been merged.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "submit_type": "MERGE_IF_NECESSARY", "strategy": "recursive", "mergeable": true, "commit_merged": false, "content_merged": true }
GET /projects/{project-name}/branches/{branch-id}/reflog
Gets the reflog of a certain branch.
The caller must be project owner.
Request.
GET /projects/gerrit/branches/master/reflog HTTP/1.0
As response a list of ReflogEntryInfo entities is returned that describe the reflog entries. The reflog entries are returned in reverse order.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "old_id": "976ced8f4fc0909d7e1584d18455299545881d60", "new_id": "2eaa94bac536654eb592c941e33b91f925698d16", "who": { "name": "Jane Roe", "email": "jane.roe@example.com", "date": "2014-06-30 11:53:43.000000000", "tz": 120 }, "comment": "merged: fast forward" }, { "old_id": "c271c6a7161b74f85560c5899c8c73ee89ca5e29", "new_id": "976ced8f4fc0909d7e1584d18455299545881d60", "who": { "name": "John Doe", "email": "john.doe@example.com", "date": "2013-10-02 10:45:26.000000000", "tz": 120 }, "comment": "merged: fast forward" }, { "old_id": "0000000000000000000000000000000000000000", "new_id": "c271c6a7161b74f85560c5899c8c73ee89ca5e29", "who": { "name": "John Doe", "email": "john.doe@example.com", "date": "2013-09-30 19:08:44.000000000", "tz": 120 }, "comment": "" } ]
The get reflog endpoint also accepts a limit integer in the n
parameter. This limits the results to show the last n
reflog entries.
Query the last 25 reflog entries.
GET /projects/gerrit/branches/master/reflog?n=25 HTTP/1.0
The reflog can also be filtered by timestamp by specifying the from
and to
parameters. The timestamp for from
and to
must be given as UTC in the following format: yyyyMMdd_HHmm
.
GET /projects/gerrit/branches/master/reflog?from=20130101_0000&to=20140101_0000=25 HTTP/1.0
GET /projects/{project-name}/children/
List the direct child projects of a project.
Request.
GET /projects/Public-Plugins/children/ HTTP/1.0
As result a list of ProjectInfo entries is returned that describe the child projects.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "id": "plugins%2Freplication", "name": "plugins/replication", "parent": "Public-Plugins", "description": "Copies to other servers using the Git protocol" }, { "id": "plugins%2Freviewnotes", "name": "plugins/reviewnotes", "parent": "Public-Plugins", "description": "Annotates merged commits using notes on refs/notes/review." }, { "id": "plugins%2Fsingleusergroup", "name": "plugins/singleusergroup", "parent": "Public-Plugins", "description": "GroupBackend enabling users to be directly added to access rules" } ]
To resolve the child projects of a project recursively the parameter recursive
can be set.
Child projects that are not visible to the calling user are ignored and are not resolved further.
Request.
GET /projects/Public-Projects/children/?recursive HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "id": "gerrit", "name": "gerrit", "parent": "Public-Projects", "description": "Gerrit Code Review" }, { "id": "plugins%2Freplication", "name": "plugins/replication", "parent": "Public-Plugins", "description": "Copies to other servers using the Git protocol" }, { "id": "plugins%2Freviewnotes", "name": "plugins/reviewnotes", "parent": "Public-Plugins", "description": "Annotates merged commits using notes on refs/notes/review." }, { "id": "plugins%2Fsingleusergroup", "name": "plugins/singleusergroup", "parent": "Public-Plugins", "description": "GroupBackend enabling users to be directly added to access rules" }, { "id": "Public-Plugins", "name": "Public-Plugins", "parent": "Public-Projects", "description": "Parent project for plugins/*" } ]
GET /projects/{project-name}/children/{project-name}
Retrieves a child project. If a non-direct child project should be retrieved the parameter recursive
must be set.
Request.
GET /projects/Public-Plugins/children/plugins%2Freplication HTTP/1.0
As response a ProjectInfo entity is returned that describes the child project.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "id": "plugins%2Freplication", "name": "plugins/replication", "parent": "Public-Plugins", "description": "Copies to other servers using the Git protocol" }
PUT /projects/{project-name}/tags/{tag-id}
Create a new tag on the project.
In the request body additional data for the tag can be provided as TagInput.
If a message is provided in the input, the tag is created as an annotated tag with the current user as tagger. Signed tags are not supported.
Request.
PUT /projects/MyProject/tags/v1.0 HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "message": "annotation", "revision": "c83117624b5b5d8a7f86093824e2f9c1ed309d63" }
As response a TagInfo entity is returned that describes the created tag.
Response.
HTTP/1.1 201 Created Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' "object": "d48d304adc4b6674e11dc2c018ea05fcbdda32fd", "message": "annotation", "tagger": { "name": "David Pursehouse", "email": "dpursehouse@collab.net", "date": "2016-06-06 01:22:03.000000000", "tz": 540 }, "ref": "refs/tags/v1.0", "revision": "c83117624b5b5d8a7f86093824e2f9c1ed309d63" }
GET /projects/{project-name}/tags/
List the tags of a project.
As result a list of TagInfo entries is returned.
Only includes tags under the refs/tags/
namespace.
Request.
GET /projects/work%2Fmy-project/tags/ HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "ref": "refs/tags/v1.0", "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666", "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30", "message": "Annotated tag", "tagger": { "name": "David Pursehouse", "email": "david.pursehouse@sonymobile.com", "date": "2014-10-06 07:35:03.000000000", "tz": 540 } }, { "ref": "refs/tags/v2.0", "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30" }, { "ref": "refs/tags/v3.0", "revision": "c628685b3c5a3614571ecb5c8fceb85db9112313", "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30", "message": "Signed tag\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.4.11 (GNU/Linux)\n\niQEcBAABAgAGBQJUMlqYAAoJEPI2qVPgglptp7MH/j+KFcittFbxfSnZjUl8n5IZ\nveZo7wE+syjD9sUbMH4EGv0WYeVjphNTyViBof+stGTNkB0VQzLWI8+uWmOeiJ4a\nzj0LsbDOxodOEMI5tifo02L7r4Lzj++EbqtKv8IUq2kzYoQ2xjhKfFiGjeYOn008\n9PGnhNblEHZgCHguGR6GsfN8bfA2XNl9B5Ysl5ybX1kAVs/TuLZR4oDMZ/pW2S75\nhuyNnSgcgq7vl2gLGefuPs9lxkg5Fj3GZr7XPZk4pt/x1oiH7yXxV4UzrUwg2CC1\nfHrBlNbQ4uJNY8TFcwof52Z0cagM5Qb/ZSLglHbqEDGA68HPqbwf5z2hQyU2/U4\u003d\n\u003dZtUX\n-----END PGP SIGNATURE-----", "tagger": { "name": "David Pursehouse", "email": "david.pursehouse@sonymobile.com", "date": "2014-10-06 09:02:16.000000000", "tz": 540 } } ]
Limit(n)
Limit the number of tags to be included in the results.
Request.
GET /projects/work%2Fmy-project/tags?n=2 HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "ref": "refs/tags/v1.0", "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666", "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30", "message": "Annotated tag", "tagger": { "name": "David Pursehouse", "email": "david.pursehouse@sonymobile.com", "date": "2014-10-06 07:35:03.000000000", "tz": 540 } }, { "ref": "refs/tags/v2.0", "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30" } ]
Skip(S)
Skip the given number of tags from the beginning of the list.
Request.
GET /projects/work%2Fmy-project/tags?n=2&s=1 HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "ref": "refs/tags/v2.0", "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30" }, { "ref": "refs/tags/v3.0", "revision": "c628685b3c5a3614571ecb5c8fceb85db9112313", "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30", "message": "Signed tag\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.4.11 (GNU/Linux)\n\niQEcBAABAgAGBQJUMlqYAAoJEPI2qVPgglptp7MH/j+KFcittFbxfSnZjUl8n5IZ\nveZo7wE+syjD9sUbMH4EGv0WYeVjphNTyViBof+stGTNkB0VQzLWI8+uWmOeiJ4a\nzj0LsbDOxodOEMI5tifo02L7r4Lzj++EbqtKv8IUq2kzYoQ2xjhKfFiGjeYOn008\n9PGnhNblEHZgCHguGR6GsfN8bfA2XNl9B5Ysl5ybX1kAVs/TuLZR4oDMZ/pW2S75\nhuyNnSgcgq7vl2gLGefuPs9lxkg5Fj3GZr7XPZk4pt/x1oiH7yXxV4UzrUwg2CC1\nfHrBlNbQ4uJNY8TFcwof52Z0cagM5Qb/ZSLglHbqEDGA68HPqbwf5z2hQyU2/U4\u003d\n\u003dZtUX\n-----END PGP SIGNATURE-----", "tagger": { "name": "David Pursehouse", "email": "david.pursehouse@sonymobile.com", "date": "2014-10-06 09:02:16.000000000", "tz": 540 } } ]
Substring(m)
Limit the results to those tags that match the specified substring.
The match is case insensitive. May not be used together with r
.
List all tags that match substring v2
:
+ .Request
GET /projects/testproject/tags?m=v2 HTTP/1.0
+ .Response
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "ref": "refs/tags/v2.0", "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30" }, ]
Regex(r)
Limit the results to those tags that match the specified regex. Boundary matchers ^ and $ are implicit. For example: the regex t* will match any tags that start with t and regex *t will match any tags that end with t.
The match is case sensitive. May not be used together with m
.
List all tags that match regex v.*0
:
Request.
GET /projects/testproject/tags?r=v.*0 HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "ref": "refs/tags/v1.0", "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666", "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30", "message": "Annotated tag", "tagger": { "name": "David Pursehouse", "email": "david.pursehouse@sonymobile.com", "date": "2014-10-06 07:35:03.000000000", "tz": 540 } }, { "ref": "refs/tags/v2.0", "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30" }, { "ref": "refs/tags/v3.0", "revision": "c628685b3c5a3614571ecb5c8fceb85db9112313", "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30", "message": "Signed tag\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.4.11 (GNU/Linux)\n\niQEcBAABAgAGBQJUMlqYAAoJEPI2qVPgglptp7MH/j+KFcittFbxfSnZjUl8n5IZ\nveZo7wE+syjD9sUbMH4EGv0WYeVjphNTyViBof+stGTNkB0VQzLWI8+uWmOeiJ4a\nzj0LsbDOxodOEMI5tifo02L7r4Lzj++EbqtKv8IUq2kzYoQ2xjhKfFiGjeYOn008\n9PGnhNblEHZgCHguGR6GsfN8bfA2XNl9B5Ysl5ybX1kAVs/TuLZR4oDMZ/pW2S75\nhuyNnSgcgq7vl2gLGefuPs9lxkg5Fj3GZr7XPZk4pt/x1oiH7yXxV4UzrUwg2CC1\nfHrBlNbQ4uJNY8TFcwof52Z0cagM5Qb/ZSLglHbqEDGA68HPqbwf5z2hQyU2/U4\u003d\n\u003dZtUX\n-----END PGP SIGNATURE-----", "tagger": { "name": "David Pursehouse", "email": "david.pursehouse@sonymobile.com", "date": "2014-10-06 09:02:16.000000000", "tz": 540 } } ]
GET /projects/{project-name}/tags/{tag-id}
Retrieves a tag of a project.
Request.
GET /projects/work%2Fmy-project/tags/v1.0 HTTP/1.0
As response a TagInfo entity is returned that describes the tag.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "ref": "refs/tags/v1.0", "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666", "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30", "message": "Annotated tag", "tagger": { "name": "David Pursehouse", "email": "david.pursehouse@sonymobile.com", "date": "2014-10-06 07:35:03.000000000", "tz": 540 } }
DELETE /projects/{project-name}/tags/{tag-id}
Deletes a tag.
Request.
DELETE /projects/MyProject/tags/v1.0 HTTP/1.0
Response.
HTTP/1.1 204 No Content
POST /projects/{project-name}/tags:delete
Delete one or more tags.
The tags to be deleted must be provided in the request body as a DeleteTagsInput entity.
Request.
POST /projects/MyProject/tags:delete HTTP/1.0 Content-Type: application/json;charset=UTF-8 { "tags": [ "v1.0", "v2.0" ] }
Response.
HTTP/1.1 204 No Content
If some tags could not be deleted, the response is “409 Conflict
” and the error message is contained in the response body.
GET /projects/{project-name}/commits/{commit-id}
Retrieves a commit of a project.
The commit must be visible to the caller.
Request.
GET /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96 HTTP/1.0
As response a CommitInfo entity is returned that describes the commit.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "commit": "184ebe53805e102605d11f6b143486d15c23a09c", "parents": [ { "commit": "1eee2c9d8f352483781e772f35dc586a69ff5646", "subject": "Migrate contributor agreements to All-Projects." } ], "author": { "name": "Shawn O. Pearce", "email": "sop@google.com", "date": "2012-04-24 18:08:08.000000000", "tz": -420 }, "committer": { "name": "Shawn O. Pearce", "email": "sop@google.com", "date": "2012-04-24 18:08:08.000000000", "tz": -420 }, "subject": "Use an EventBus to manage star icons", "message": "Use an EventBus to manage star icons\n\nImage widgets that need to ..." }
GET /projects/{project-name}/commits/{commit-id}/in
Retrieves the branches and tags in which a change is included. As result an IncludedInInfo entity is returned.
Request.
GET /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96/in HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json;charset=UTF-8 )]}' { "branches": [ "master" ], "tags": [] }
GET /projects/{project-name}/commits/{commit-id}/files/{file-id}/content
Gets the content of a file from a certain commit.
Request.
GET /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/content HTTP/1.0
The content is returned as base64 encoded string.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: text/plain; charset=UTF-8 Ly8gQ29weXJpZ2h0IChDKSAyMDEwIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY...
POST /projects/{project-name}/commits/{commit-id}/cherrypick
Cherry-picks a commit of a project to a destination branch.
The destination branch must be provided in the request body inside a CherryPickInput entity. If the commit message is not set, the commit message of the source commit will be used.
Request.
POST /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96/cherrypick HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "message" : "Implementing Feature X", "destination" : "release-branch" }
As response a ChangeInfo entity is returned that describes the resulting cherry-picked change.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9941", "project": "myProject", "branch": "release-branch", "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9941", "subject": "Implementing Feature X", "status": "NEW", "created": "2013-02-01 09:59:32.126000000", "updated": "2013-02-21 11:16:36.775000000", "mergeable": true, "insertions": 12, "deletions": 11, "_number": 3965, "owner": { "name": "John Doe" } }
GET /projects/{project-name}/dashboards/
List custom dashboards for a project.
As result a list of DashboardInfo entries is returned.
List all dashboards for the work/my-project
project:
Request.
GET /projects/work%2Fmy-project/dashboards/ HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' [ { "id": "main:closed", "ref": "main", "path": "closed", "description": "Merged and abandoned changes in last 7 weeks", "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w", "is_default": true, "title": "Closed changes", "sections": [ { "name": "Merged", "query": "status:merged age:7w" }, { "name": "Abandoned", "query": "status:abandoned age:7w" } ] } ]
get::/projects/All-Projects/dashboards/
GET /projects/{project-name}/dashboards/{dashboard-id}
Retrieves a project dashboard. The dashboard can be defined on that project or be inherited from a parent project.
Request.
GET /projects/work%2Fmy-project/dashboards/main:closed HTTP/1.0
As response a DashboardInfo entity is returned that describes the dashboard.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "id": "main:closed", "ref": "main", "path": "closed", "description": "Merged and abandoned changes in last 7 weeks", "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w", "is_default": true, "title": "Closed changes", "sections": [ { "name": "Merged", "query": "status:merged age:7w" }, { "name": "Abandoned", "query": "status:abandoned age:7w" } ] }
To retrieve the default dashboard of a project use default
as dashboard-id.
Request.
GET /projects/work%2Fmy-project/dashboards/default HTTP/1.0
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "id": "main:closed", "ref": "main", "path": "closed", "description": "Merged and abandoned changes in last 7 weeks", "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w", "is_default": true, "title": "Closed changes", "sections": [ { "name": "Merged", "query": "status:merged age:7w" }, { "name": "Abandoned", "query": "status:abandoned age:7w" } ] }
PUT /projects/{project-name}/dashboards/{dashboard-id}
Updates/Creates a project dashboard.
Currently only supported for the default
dashboard.
The creation/update information for the dashboard must be provided in the request body as a DashboardInput entity.
Request.
PUT /projects/work%2Fmy-project/dashboards/default HTTP/1.0 Content-Type: application/json; charset=UTF-8 { "id": "main:closed", "commit_message": "Define the default dashboard" }
As response the new/updated dashboard is returned as a DashboardInfo entity.
Response.
HTTP/1.1 200 OK Content-Disposition: attachment Content-Type: application/json; charset=UTF-8 )]}' { "id": "main:closed", "ref": "main", "path": "closed", "description": "Merged and abandoned changes in last 7 weeks", "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w", "is_default": true, "title": "Closed changes", "sections": [ { "name": "Merged", "query": "status:merged age:7w" }, { "name": "Abandoned", "query": "status:abandoned age:7w" } ] }
DELETE /projects/{project-name}/dashboards/{dashboard-id}
Deletes a project dashboard.
Currently only supported for the default
dashboard.
The request body does not need to include a DashboardInput entity if no commit message is specified.
Please note that some proxies prohibit request bodies for DELETE requests.
Request.
DELETE /projects/work%2Fmy-project/dashboards/default HTTP/1.0
Response.
HTTP/1.1 204 No Content
The name of a branch or HEAD
. The prefix refs/heads/
can be omitted.
Commit ID.
The name of a tag. The prefix refs/tags/
can be omitted.
The ID of a dashboard in the format <ref>:<path>.
A special dashboard ID is default
which represents the default dashboard of a project.
The name of the project.
If the name ends with .git
, the suffix will be automatically removed.
The AccessCheckInfo
entity is the result of an access check.
The AccessCheckInput
entity is either an account or (account, ref) tuple for which we want to check access.
The BanInput
entity contains information for banning commits in a project.
The BanResultInfo
entity describes the result of banning commits.
The BranchInfo
entity contains information about a branch.
The BranchInput
entity contains information for the creation of a new branch.
The ConfigInfo
entity contains information about the effective project configuration.
The ConfigInput
entity describes a new project configuration.
The ConfigParameterInfo
entity describes a project configuration parameter.
The DashboardInfo
entity contains information about a project dashboard.
The DashboardInput
entity contains information to create/update a project dashboard.
The DashboardSectionInfo
entity contains information about a section in a dashboard.
The DeleteBranchesInput
entity contains information about branches that should be deleted.
The DeleteTagsInput
entity contains information about tags that should be deleted.
The GCInput
entity contains information to run the Git garbage collection.
The HeadInput
entity contains information for setting HEAD
for a project.
A boolean value that can also be inherited.
The LabelTypeInfo
entity contains metadata about the labels that a project has.
The MaxObjectSizeLimitInfo
entity contains information about the max object size limit of a project.
The ProjectAccessInput
describes changes that should be applied to a project access config.
The ProjectDescriptionInput
entity contains information for setting a project description.
The ProjectInfo
entity contains information about a project.
The ProjectInput
entity contains information for the creation of a new project.
The ProjectParentInput
entity contains information for setting a project parent.
The ReflogEntryInfo
entity describes an entry in a reflog.
The RepositoryStatisticsInfo
entity contains information about statistics of a Git repository.
The TagInfo
entity contains information about a tag.
The TagInput
entity contains information for creating a tag.
The ThemeInfo
entity describes a theme.
GERRIT
Part of Gerrit Code Review