diff --git a/src/GitLabApiClient/IMergeRequestsClient.cs b/src/GitLabApiClient/IMergeRequestsClient.cs index 92bfce6b..76174c20 100644 --- a/src/GitLabApiClient/IMergeRequestsClient.cs +++ b/src/GitLabApiClient/IMergeRequestsClient.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using GitLabApiClient.Internal.Paths; using GitLabApiClient.Models.AwardEmojis.Responses; +using GitLabApiClient.Models.Commits.Responses; using GitLabApiClient.Models.Discussions.Responses; using GitLabApiClient.Models.MergeRequests.Requests; using GitLabApiClient.Models.MergeRequests.Responses; @@ -112,5 +113,12 @@ public interface IMergeRequestsClient /// The ID, path or of the project. /// The Internal Merge Request Id. Task> GetAwardEmojisAsync(ProjectId projectId, int mergeRequestIid); + + /// + /// Retrieves a list of all commits for a specified merge request. + /// + /// The ID, path or of the project. + /// The Internal Merge Request Id. + Task> GetCommitsAsync(ProjectId projectId, int mergeRequestId); } } diff --git a/src/GitLabApiClient/MergeRequestsClient.cs b/src/GitLabApiClient/MergeRequestsClient.cs index 7926c86b..753bed19 100644 --- a/src/GitLabApiClient/MergeRequestsClient.cs +++ b/src/GitLabApiClient/MergeRequestsClient.cs @@ -6,6 +6,7 @@ using GitLabApiClient.Internal.Paths; using GitLabApiClient.Internal.Queries; using GitLabApiClient.Models.AwardEmojis.Responses; +using GitLabApiClient.Models.Commits.Responses; using GitLabApiClient.Models.Discussions.Responses; using GitLabApiClient.Models.MergeRequests.Requests; using GitLabApiClient.Models.MergeRequests.Responses; @@ -175,5 +176,13 @@ public async Task> GetDiscussionsAsync(ProjectId projectId, in public async Task> GetAwardEmojisAsync(ProjectId projectId, int mergeRequestIid) => await _httpFacade.GetPagedList($"projects/{projectId}/merge_requests/{mergeRequestIid}/award_emoji"); + /// + /// Retrieves a list of all commits for a specified merge request. + /// + /// The ID, path or of the project. + /// The Internal Merge Request Id. + public async Task> GetCommitsAsync(ProjectId projectId, int mergeRequestId) => + await _httpFacade.GetPagedList($"projects/{projectId}/merge_requests/{mergeRequestId}/commits"); + } }