diff --git a/NGitLab.Mock/Clients/MergeRequestClient.cs b/NGitLab.Mock/Clients/MergeRequestClient.cs index 201bd7ad..c06a397e 100644 --- a/NGitLab.Mock/Clients/MergeRequestClient.cs +++ b/NGitLab.Mock/Clients/MergeRequestClient.cs @@ -708,6 +708,11 @@ public GitLabCollectionResponse GetVersionsAsync(int mergeR throw new NotImplementedException(); } + public Task TimeStatsAsync(int mergeRequestIid, CancellationToken cancellationToken = default) + { + throw new NotImplementedException(); + } + public IMergeRequestDiscussionClient Discussions(int mergeRequestIid) { AssertProjectId(); diff --git a/NGitLab/IMergeRequestClient.cs b/NGitLab/IMergeRequestClient.cs index 4628a480..54544cb8 100644 --- a/NGitLab/IMergeRequestClient.cs +++ b/NGitLab/IMergeRequestClient.cs @@ -59,6 +59,13 @@ public interface IMergeRequestClient IEnumerable ClosesIssues(int mergeRequestIid); + /// + /// Get time tracking statistics + /// + /// The id of the merge request in the project's scope. + /// The time tracking statistics of the merge request. + Task TimeStatsAsync(int mergeRequestIid, CancellationToken cancellationToken = default); + /// /// Gets the resource label events. /// diff --git a/NGitLab/Impl/MergeRequestClient.cs b/NGitLab/Impl/MergeRequestClient.cs index 01f9ee25..fab19d07 100644 --- a/NGitLab/Impl/MergeRequestClient.cs +++ b/NGitLab/Impl/MergeRequestClient.cs @@ -155,6 +155,11 @@ public GitLabCollectionResponse GetVersionsAsync(int mergeR return _api.Get().GetAllAsync(_projectPath + "/merge_requests/" + mergeRequestIid.ToString(CultureInfo.InvariantCulture) + "/versions"); } + public Task TimeStatsAsync(int mergeRequestIid, CancellationToken cancellationToken = default) + { + return _api.Get().ToAsync(_projectPath + "/merge_requests/" + mergeRequestIid.ToString(CultureInfo.InvariantCulture) + "/time_stats", cancellationToken); + } + public IMergeRequestCommentClient Comments(int mergeRequestIid) => new MergeRequestCommentClient(_api, _projectPath, mergeRequestIid); public IMergeRequestDiscussionClient Discussions(int mergeRequestIid) => new MergeRequestDiscussionClient(_api, _projectPath, mergeRequestIid); diff --git a/NGitLab/PublicAPI.Unshipped.txt b/NGitLab/PublicAPI.Unshipped.txt index c209dfac..5ff74a54 100644 --- a/NGitLab/PublicAPI.Unshipped.txt +++ b/NGitLab/PublicAPI.Unshipped.txt @@ -357,6 +357,7 @@ NGitLab.IMergeRequestClient.ResourceLabelEventsAsync(int projectId, int mergeReq NGitLab.IMergeRequestClient.ResourceMilestoneEventsAsync(int projectId, int mergeRequestIid) -> NGitLab.GitLabCollectionResponse NGitLab.IMergeRequestClient.ResourceStateEventsAsync(int projectId, int mergeRequestIid) -> NGitLab.GitLabCollectionResponse NGitLab.IMergeRequestClient.this[int iid].get -> NGitLab.Models.MergeRequest +NGitLab.IMergeRequestClient.TimeStatsAsync(int mergeRequestIid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task NGitLab.IMergeRequestClient.Update(int mergeRequestIid, NGitLab.Models.MergeRequestUpdate mergeRequest) -> NGitLab.Models.MergeRequest NGitLab.IMergeRequestCommentClient NGitLab.IMergeRequestCommentClient.Add(NGitLab.Models.MergeRequestComment comment) -> NGitLab.Models.MergeRequestComment @@ -621,6 +622,7 @@ NGitLab.Impl.MergeRequestClient.ResourceLabelEventsAsync(int projectId, int merg NGitLab.Impl.MergeRequestClient.ResourceMilestoneEventsAsync(int projectId, int mergeRequestIid) -> NGitLab.GitLabCollectionResponse NGitLab.Impl.MergeRequestClient.ResourceStateEventsAsync(int projectId, int mergeRequestIid) -> NGitLab.GitLabCollectionResponse NGitLab.Impl.MergeRequestClient.this[int iid].get -> NGitLab.Models.MergeRequest +NGitLab.Impl.MergeRequestClient.TimeStatsAsync(int mergeRequestIid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task NGitLab.Impl.MergeRequestClient.Update(int mergeRequestIid, NGitLab.Models.MergeRequestUpdate mergeRequest) -> NGitLab.Models.MergeRequest NGitLab.Impl.MergeRequestCommentClient NGitLab.Impl.MergeRequestCommentClient.Add(NGitLab.Models.MergeRequestComment comment) -> NGitLab.Models.MergeRequestComment