Merge request context commits API
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
If your merge request builds upon a previous merge request, you might need to include previously-merged commits for context in your merge request. Use this API to add commits to a merge request for more context.
List context commits for a merge request
Lists context commits for a single merge request.
GET /projects/:id/merge_requests/:merge_request_iid/context_commitsParameters:
| Attribute | Type | Required | Description |
|---|---|---|---|
id |
integer | Yes | The ID or URL-encoded path of the project. |
merge_request_iid |
integer | Yes | The internal ID of the merge request. |
Example request:
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/15/merge_requests/12/context_commits"Example response:
[
{
"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 User",
"author_email": "user@example.com",
"authored_date": "2017-04-11T10:08:59.000Z",
"committer_name": "Example User",
"committer_email": "user@example.com",
"committed_date": "2017-04-11T10:08:59.000Z",
"trailers": {},
"extended_trailers": null,
"web_url": "https://gitlab.example.com/example/project/-/commit/4a24d82dbca5c11c61556f3b35ca472b7463187e",
"author": {
"id": 1,
"username": "example",
"public_email": null,
"name": "Example User",
"state": "active",
"locked": false,
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/example",
"show_status": false,
"path": "/example"
},
"author_gravatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"commit_url": "https://gitlab.example.com/example/project/-/commit/4a24d82dbca5c11c61556f3b35ca472b7463187e",
"commit_path": "/example/project/-/commit/4a24d82dbca5c11c61556f3b35ca472b7463187e",
"description_html": "",
"title_html": "Update README.md to include usage in testing and development",
"signature_html": null,
"prev_commit_id": null,
"next_commit_id": null,
"pipeline_status_path": null
}
]Create context commits for a merge request
Creates context commits for a single merge request.
POST /projects/:id/merge_requests/:merge_request_iid/context_commitsParameters:
| Attribute | Type | Required | Description |
|---|---|---|---|
id |
integer | Yes | The ID or URL-encoded path of the project |
merge_request_iid |
integer | Yes | The internal ID of the merge request. |
commits |
string array | Yes | The context commits’ SHAs. |
Example request:
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:
[
{
"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 context commits from a merge request
Deletes context commits from a single merge request.
DELETE /projects/:id/merge_requests/:merge_request_iid/context_commitsParameters:
| Attribute | Type | Required | Description |
|---|---|---|---|
commits |
string array | Yes | The context commits’ SHA. |
id |
integer | Yes | The ID or URL-encoded path of the project. |
merge_request_iid |
integer | Yes | The internal ID of the merge request. |