public static MergePullRequest ( long repositoryId, int number ) : |
||
repositoryId | long | The Id of the repository |
number | int | The pull request number |
return |
public async Task <PullRequestMerge> Merge(string owner, string name, int number, MergePullRequest mergePullRequest) { Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner)); Ensure.ArgumentNotNullOrEmptyString(name, nameof(name)); Ensure.ArgumentNotNull(mergePullRequest, nameof(mergePullRequest)); try { var endpoint = ApiUrls.MergePullRequest(owner, name, number); return(await ApiConnection.Put <PullRequestMerge>(endpoint, mergePullRequest, null, AcceptHeaders.SquashCommitPreview).ConfigureAwait(false)); } catch (ApiException ex) { if (ex.StatusCode == HttpStatusCode.MethodNotAllowed) { throw new PullRequestNotMergeableException(ex.HttpResponse); } if (ex.StatusCode == HttpStatusCode.Conflict) { throw new PullRequestMismatchException(ex.HttpResponse); } throw; } }
/// <summary> /// Merge 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>An <see cref="PullRequestMerge"/> result which indicates the merge result</returns> public async Task <PullRequestMerge> Merge(string owner, string name, int number, MergePullRequest mergePullRequest) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(mergePullRequest, "mergePullRequest"); try { return(await ApiConnection.Put <PullRequestMerge>(ApiUrls.MergePullRequest(owner, name, number), mergePullRequest)); } catch (ApiException ex) { if (ex.StatusCode == HttpStatusCode.MethodNotAllowed) { throw new PullRequestNotMergeableException(ex.HttpResponse); } if (ex.StatusCode == HttpStatusCode.Conflict) { throw new PullRequestMismatchException(ex.HttpResponse); } throw; } }
/// <summary> /// Merge 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>An <see cref="PullRequestMerge"/> result which indicates the merge result</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.MergePullRequest(owner, name, number), mergePullRequest)); }
public async Task <bool> Merged(long repositoryId, int number) { try { var endpoint = ApiUrls.MergePullRequest(repositoryId, number); var response = await Connection.Get <object>(endpoint, null, null).ConfigureAwait(false); return(response.HttpResponse.IsTrue()); } catch (NotFoundException) { return(false); } }
public async Task <bool> Merged(string owner, string name, int number) { Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner)); Ensure.ArgumentNotNullOrEmptyString(name, nameof(name)); try { var endpoint = ApiUrls.MergePullRequest(owner, name, number); var response = await Connection.Get <object>(endpoint, null, null).ConfigureAwait(false); return(response.HttpResponse.IsTrue()); } catch (NotFoundException) { return(false); } }
/// <summary> /// Get the pull request merge status. /// </summary> /// <remarks>http://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged</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> /// <returns>True if the operation has been merged, false otherwise</returns> public async Task <bool> Merged(string owner, string name, int number) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); try { var response = await Connection.Get <object>(ApiUrls.MergePullRequest(owner, name, number), null, null) .ConfigureAwait(false); if (response.StatusCode != HttpStatusCode.NotFound && response.StatusCode != HttpStatusCode.NoContent) { throw new ApiException("Invalid Status Code returned. Expected a 204 or 404", response.StatusCode); } return(response.StatusCode == HttpStatusCode.NoContent); } catch (NotFoundException) { return(false); } }
public async Task <PullRequestMerge> Merge(long repositoryId, int number, MergePullRequest mergePullRequest) { Ensure.ArgumentNotNull(mergePullRequest, nameof(mergePullRequest)); try { var endpoint = ApiUrls.MergePullRequest(repositoryId, number); return(await ApiConnection.Put <PullRequestMerge>(endpoint, mergePullRequest).ConfigureAwait(false)); } catch (ApiException ex) { if (ex.StatusCode == HttpStatusCode.MethodNotAllowed) { throw new PullRequestNotMergeableException(ex.HttpResponse); } if (ex.StatusCode == HttpStatusCode.Conflict) { throw new PullRequestMismatchException(ex.HttpResponse); } throw; } }