MergePullRequest() публичный статический Метод

Returns the Uri that returns the pull request merge state.
public static MergePullRequest ( long repositoryId, int number ) : Uri
repositoryId long The Id of the repository
number int The pull request number
Результат System.Uri
Пример #1
0
        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;
            }
        }
Пример #2
0
        /// <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;
            }
        }
Пример #3
0
        /// <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));
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
        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);
            }
        }
Пример #6
0
        /// <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;
            }
        }