From 8e81666b59391c1f8ce8071fc01f3c6a654fb286 Mon Sep 17 00:00:00 2001 From: Christian Bankester Date: Tue, 5 Jan 2021 14:56:19 -0600 Subject: [PATCH] Added 'GetCommitsAsync' for getting a merge request's commits --- src/GitLabApiClient/IMergeRequestsClient.cs | 8 ++++++++ src/GitLabApiClient/MergeRequestsClient.cs | 9 +++++++++ 2 files changed, 17 insertions(+) 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"); + } }