コード例 #1
0
        public async Task MergePullRequestAsync(string pullRequestUrl, MergePullRequestParameters parameters)
        {
            CheckForValidGitClient();
            _logger.LogInformation($"Merging pull request '{pullRequestUrl}'...");

            await _gitClient.MergePullRequestAsync(pullRequestUrl, parameters ?? new MergePullRequestParameters());

            _logger.LogInformation($"Merging pull request '{pullRequestUrl}' succeeded!");
        }
コード例 #2
0
        /// <summary>
        ///     Merge a pull request
        /// </summary>
        /// <param name="pullRequestUrl">Uri of pull request to merge</param>
        /// <param name="parameters">Settings for merge</param>
        /// <returns></returns>
        public async Task MergePullRequestAsync(string pullRequestUrl, MergePullRequestParameters parameters)
        {
            (string owner, string repo, int id) = ParsePullRequestUri(pullRequestUrl);

            var mergePullRequest = new MergePullRequest
            {
                Sha         = parameters.CommitToMerge,
                MergeMethod = parameters.SquashMerge ? PullRequestMergeMethod.Squash : PullRequestMergeMethod.Merge
            };

            Octokit.PullRequest pr = await Client.PullRequest.Get(owner, repo, id);

            await Client.PullRequest.Merge(owner, repo, id, mergePullRequest);

            if (parameters.DeleteSourceBranch)
            {
                await Client.Git.Reference.Delete(owner, repo, $"heads/{pr.Head.Ref}");
            }
        }
コード例 #3
0
        public async Task MergePullRequestAsync(string pullRequestUrl, MergePullRequestParameters parameters)
        {
            VssConnection connection = CreateConnection(pullRequestUrl);
            GitHttpClient client     = await connection.GetClientAsync <GitHttpClient>();

            (string team, string repo, int id) = ParsePullRequestUri(pullRequestUrl);

            await client.UpdatePullRequestAsync(
                new GitPullRequest
            {
                Status            = PullRequestStatus.Completed,
                CompletionOptions = new GitPullRequestCompletionOptions
                {
                    SquashMerge        = parameters.SquashMerge,
                    DeleteSourceBranch = parameters.DeleteSourceBranch
                },
                LastMergeSourceCommit = new GitCommitRef {
                    CommitId = parameters.CommitToMerge
                }
            },
                repo,
                id);
        }
コード例 #4
0
 public Task MergePullRequestAsync(string pullRequestUrl, MergePullRequestParameters parameters)
 {
     throw new NotImplementedException();
 }
コード例 #5
0
 public Task MergeDependencyPullRequestAsync(string pullRequestUrl, MergePullRequestParameters parameters, string mergeCommitMessage)
 {
     throw new NotImplementedException();
 }