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!"); }
/// <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}"); } }
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); }
public Task MergePullRequestAsync(string pullRequestUrl, MergePullRequestParameters parameters) { throw new NotImplementedException(); }
public Task MergeDependencyPullRequestAsync(string pullRequestUrl, MergePullRequestParameters parameters, string mergeCommitMessage) { throw new NotImplementedException(); }