mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-06-03 03:01:31 +00:00
Implemented pull request merge functionality
This commit is contained in:
committed by
Brendan Forster
parent
a2d303684f
commit
fddae25b6f
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Reactive;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Octokit
|
||||
{
|
||||
@@ -62,5 +63,16 @@ namespace Octokit
|
||||
/// </param>
|
||||
/// <returns></returns>
|
||||
IObservable<PullRequest> Update(string owner, string name, int number, PullRequestUpdate pullRequestUpdate);
|
||||
|
||||
/// <summary>
|
||||
/// Merges a pull request.
|
||||
/// </summary>
|
||||
/// <remarks>http://developer.github.com/v3/pulls/#merge-a-pull-request-merge-buttontrade</remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="number">The pull request number</param>
|
||||
/// <param name="mergePullRequest">A <see cref="MergePullRequest"/> instance describing a pull request merge</param>
|
||||
/// <returns></returns>
|
||||
IObservable<PullRequestMerge> Merge(string owner, string name, int number, MergePullRequest mergePullRequest);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,5 +102,23 @@ namespace Octokit.Reactive.Clients
|
||||
|
||||
return _client.Update(owner, name, number, pullRequestUpdate).ToObservable();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Merges a pull request.
|
||||
/// </summary>
|
||||
/// <remarks>http://developer.github.com/v3/pulls/#merge-a-pull-request-merge-buttontrade</remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="number">The pull request number</param>
|
||||
/// <param name="mergePullRequest">A <see cref="MergePullRequest"/> instance describing a pull request merge</param>
|
||||
/// <returns></returns>
|
||||
public IObservable<PullRequestMerge> Merge(string owner, string name, int number, MergePullRequest mergePullRequest)
|
||||
{
|
||||
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
|
||||
Ensure.ArgumentNotNullOrEmptyString(name, "name");
|
||||
Ensure.ArgumentNotNull(mergePullRequest, "mergePullRequest");
|
||||
|
||||
return _client.Merge(owner, name, number, mergePullRequest).ToObservable();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -61,5 +61,16 @@ namespace Octokit
|
||||
/// </param>
|
||||
/// <returns></returns>
|
||||
Task<PullRequest> Update(string owner, string name, int number, PullRequestUpdate pullRequestUpdate);
|
||||
|
||||
/// <summary>
|
||||
/// Merges a pull request.
|
||||
/// </summary>
|
||||
/// <remarks>http://developer.github.com/v3/pulls/#merge-a-pull-request-merge-buttontrade</remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="number">The pull request number</param>
|
||||
/// <param name="mergePullRequest">A <see cref="MergePullRequest"/> instance describing a pull request merge</param>
|
||||
/// <returns></returns>
|
||||
Task<PullRequestMerge> Merge(string owner, string name, int number, MergePullRequest mergePullRequest);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,5 +95,23 @@ namespace Octokit
|
||||
|
||||
return ApiConnection.Patch<PullRequest>(ApiUrls.PullRequest(owner, name, number), pullRequestUpdate);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Merges a pull request.
|
||||
/// </summary>
|
||||
/// <remarks>http://developer.github.com/v3/pulls/#merge-a-pull-request-merge-buttontrade</remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="number">The pull request number</param>
|
||||
/// <param name="mergePullRequest">A <see cref="MergePullRequest"/> instance describing a pull request merge</param>
|
||||
/// <returns></returns>
|
||||
public Task<PullRequestMerge> Merge(string owner, string name, int number, MergePullRequest mergePullRequest)
|
||||
{
|
||||
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
|
||||
Ensure.ArgumentNotNullOrEmptyString(name, "name");
|
||||
Ensure.ArgumentNotNull(mergePullRequest, "mergePullRequest");
|
||||
|
||||
return ApiConnection.Put<PullRequestMerge>(ApiUrls.PullRequest(owner, name, number), mergePullRequest);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
|
||||
namespace Octokit
|
||||
{
|
||||
/// <summary>
|
||||
/// Used to merge a pull request.
|
||||
/// </summary>
|
||||
public class MergePullRequest
|
||||
{
|
||||
public MergePullRequest(string message)
|
||||
{
|
||||
Ensure.ArgumentNotNull(message, "message");
|
||||
|
||||
Message = message;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The message that will be used for the merge commit (optional)
|
||||
/// </summary>
|
||||
public string Message { get; private set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
|
||||
namespace Octokit
|
||||
{
|
||||
public class PullRequestMerge
|
||||
{
|
||||
/// <summary>
|
||||
/// The sha reference of the commit.
|
||||
/// </summary>
|
||||
public string sha { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// True if merged successfully, otherwise false.
|
||||
/// </summary>
|
||||
public bool Merged { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The message that will be used for the merge commit.
|
||||
/// </summary>
|
||||
public string Message { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -86,6 +86,7 @@
|
||||
<Compile Include="Helpers\ParameterAttribute.cs" />
|
||||
<Compile Include="Helpers\ReflectionExtensions.cs" />
|
||||
<Compile Include="Models\Request\LabelUpdate.cs" />
|
||||
<Compile Include="Models\Request\MergePullRequest.cs" />
|
||||
<Compile Include="Models\Request\MilestoneUpdate.cs" />
|
||||
<Compile Include="Models\Request\NewBlob.cs" />
|
||||
<Compile Include="Models\Request\NewCommit.cs" />
|
||||
|
||||
@@ -113,7 +113,9 @@
|
||||
<Compile Include="Models\Response\Notification.cs" />
|
||||
<Compile Include="Models\Response\NotificationInfo.cs" />
|
||||
<Compile Include="Models\Response\PullRequest.cs" />
|
||||
<Compile Include="Models\Response\PullRequestMerge.cs" />
|
||||
<Compile Include="Models\Request\RepositoryIssueRequest.cs" />
|
||||
<Compile Include="Models\Request\MergePullRequest.cs" />
|
||||
<Compile Include="Models\Request\MilestoneRequest.cs" />
|
||||
<Compile Include="Models\Response\TagObject.cs" />
|
||||
<Compile Include="Models\Response\TreeItem.cs" />
|
||||
|
||||
@@ -108,7 +108,9 @@
|
||||
<Compile Include="Models\Response\Notification.cs" />
|
||||
<Compile Include="Models\Response\NotificationInfo.cs" />
|
||||
<Compile Include="Models\Response\PullRequest.cs" />
|
||||
<Compile Include="Models\Response\PullRequestMerge.cs" />
|
||||
<Compile Include="Models\Request\RepositoryIssueRequest.cs" />
|
||||
<Compile Include="Models\Request\MergePullRequest.cs" />
|
||||
<Compile Include="Models\Request\MilestoneRequest.cs" />
|
||||
<Compile Include="Models\Response\TagObject.cs" />
|
||||
<Compile Include="Models\Response\TreeItem.cs" />
|
||||
|
||||
@@ -136,6 +136,7 @@
|
||||
<Compile Include="Helpers\ReflectionExtensions.cs" />
|
||||
<Compile Include="Models\Request\NewTeam.cs" />
|
||||
<Compile Include="Models\Request\UpdateTeam.cs" />
|
||||
<Compile Include="Models\Request\MergePullRequest.cs" />
|
||||
<Compile Include="Models\Request\MilestoneUpdate.cs" />
|
||||
<Compile Include="Models\Request\NewCommit.cs" />
|
||||
<Compile Include="Models\Request\NewCommitStatus.cs" />
|
||||
|
||||
Reference in New Issue
Block a user