1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
---
stage: Create
group: Code Review
info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments"
description: "Documentation for the REST API for merge request context commits in GitLab."
---
# Merge request context commits API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
## List MR context commits
Get a list of merge request context commits.
```plaintext
GET /projects/:id/merge_requests/:merge_request_iid/context_commits
```
Parameters:
| Attribute | Type | Required | Description |
|---------------------|---------|----------|-------------|
| `id` | integer | Yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `merge_request_iid` | integer | Yes | The internal ID of the merge request. |
```json
[
{
"id": "4a24d82dbca5c11c61556f3b35ca472b7463187e",
"short_id": "4a24d82d",
"created_at": "2017-04-11T10:08:59.000Z",
"parent_ids": null,
"title": "Update README.md to include `Usage in testing and development`",
"message": "Update README.md to include `Usage in testing and development`",
"author_name": "Example \"Sample\" User",
"author_email": "user@example.com",
"authored_date": "2017-04-11T10:08:59.000Z",
"committer_name": "Example \"Sample\" User",
"committer_email": "user@example.com",
"committed_date": "2017-04-11T10:08:59.000Z"
}
]
```
## Create MR context commits
Create a list of merge request context commits.
```plaintext
POST /projects/:id/merge_requests/:merge_request_iid/context_commits
```
Parameters:
| Attribute | Type | Required | Description |
|---------------------|---------|----------|-------------|
| `id` | integer | Yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `merge_request_iid` | integer | Yes | The internal ID of the merge request. |
| `commits` | string array | Yes | The context commits' SHAs. |
Example request:
```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--header 'Content-Type: application/json' \
--data '{"commits": ["51856a574ac3302a95f82483d6c7396b1e0783cb"]}' \
--url "https://gitlab.example.com/api/v4/projects/15/merge_requests/12/context_commits"
```
Example response:
```json
[
{
"id": "51856a574ac3302a95f82483d6c7396b1e0783cb",
"short_id": "51856a57",
"created_at": "2014-02-27T10:05:10.000+02:00",
"parent_ids": [
"57a82e2180507c9e12880c0747f0ea65ad489515"
],
"title": "Commit title",
"message": "Commit message",
"author_name": "Example User",
"author_email": "user@example.com",
"authored_date": "2014-02-27T10:05:10.000+02:00",
"committer_name": "Example User",
"committer_email": "user@example.com",
"committed_date": "2014-02-27T10:05:10.000+02:00",
"trailers": {},
"web_url": "https://gitlab.example.com/project/path/-/commit/b782f6c553653ab4e16469ff34bf3a81638ac304"
}
]
```
## Delete MR context commits
Delete a list of merge request context commits.
```plaintext
DELETE /projects/:id/merge_requests/:merge_request_iid/context_commits
```
Parameters:
| Attribute | Type | Required | Description |
|---------------------|--------------|----------|--------------|
| `commits` | string array | Yes | The context commits' SHA. |
| `id` | integer | Yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `merge_request_iid` | integer | Yes | The internal ID of the merge request. |
|