本文整理汇总了C#中Octokit.NewPullRequest类的典型用法代码示例。如果您正苦于以下问题:C# NewPullRequest类的具体用法?C# NewPullRequest怎么用?C# NewPullRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
NewPullRequest类属于Octokit命名空间,在下文中一共展示了NewPullRequest类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreatePullRequest
public async Task<PullRequest> CreatePullRequest(string branchToMerge, string prTitleHalfway, string description, string targetUsername, string targetRepository, string targetBranch, string shortTargetBranchName)
{
var user = await this.client.User.Current();
var username = user.Login;
var headRef = username + ":" + branchToMerge;
var baseRef = targetBranch;
var title = prTitleHalfway + " (" + shortTargetBranchName + ")";
var newPR = new NewPullRequest(title, headRef, baseRef);
newPR.Body = description;
try
{
var pullRequest = await this.client.Repository.PullRequest.Create(targetUsername, targetRepository, newPR);
MessageBox.Show("Success! Created PR #" + pullRequest.Number + ": " + pullRequest.Title);
return pullRequest;
}
catch (Octokit.ApiValidationException e)
{
MessageBox.Show(e.Message + "\n\n" + e.HttpResponse.Body);
throw;
}
catch (Exception)
{
MessageBox.Show("Error!");
throw;
}
}
示例2: Create
/// <summary>
/// Create a pull request for the specified repository.
/// </summary>
/// <remarks>http://developer.github.com/v3/pulls/#create-a-pull-request</remarks>
/// <param name="owner">The owner of the repository</param>
/// <param name="name">The name of the repository</param>
/// <param name="newPullRequest">A <see cref="NewPullRequest"/> instance describing the new PullRequest to create</param>
/// <returns>A <see cref="PullRequest"/> result which was created on the server</returns>
public Task<PullRequest> Create(string owner, string name, NewPullRequest newPullRequest)
{
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
Ensure.ArgumentNotNullOrEmptyString(name, "name");
Ensure.ArgumentNotNull(newPullRequest, "newPullRequest");
return ApiConnection.Post<PullRequest>(ApiUrls.PullRequests(owner, name), newPullRequest);
}
示例3: CanCreate
public async Task CanCreate()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", branchName, "master");
var result = await _fixture.Create(Helper.UserName, _context.RepositoryName, newPullRequest);
Assert.Equal("a pull request", result.Title);
}
示例4: CanCreate
public async Task CanCreate()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", "my-branch", "master");
var result = await _fixture.Create(Helper.UserName, _repository.Name, newPullRequest);
Assert.Equal("a pull request", result.Title);
Assert.False(result.Merged);
}
示例5: CanGetForRepository
public async Task CanGetForRepository()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", branchName, "master");
var result = await _fixture.Create(Helper.UserName, _repository.Name, newPullRequest);
var pullRequests = await _fixture.GetForRepository(Helper.UserName, _repository.Name);
Assert.Equal(1, pullRequests.Count);
Assert.Equal(result.Title, pullRequests[0].Title);
}
示例6: IgnoresOpenPullRequest
public async Task IgnoresOpenPullRequest()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", branchName, "master");
await _fixture.Create(Helper.UserName, _repository.Name, newPullRequest);
var openPullRequests = new PullRequestRequest { State = ItemState.Closed };
var pullRequests = await _fixture.GetForRepository(Helper.UserName, _repository.Name, openPullRequests);
Assert.Empty(pullRequests);
}
示例7: CreatePR
public static BuildTargetResult CreatePR(BuildTargetContext c)
{
string remoteBranchName = c.GetRemoteBranchName();
NewPullRequest prInfo = new NewPullRequest(
PullRequestTitle,
s_config.GitHubOriginOwner + ":" + remoteBranchName,
s_config.GitHubUpstreamBranch);
GitHubClient gitHub = new GitHubClient(new ProductHeaderValue("dotnetDependencyUpdater"));
gitHub.Credentials = new Credentials(s_config.Password);
PullRequest createdPR = gitHub.PullRequest.Create(s_config.GitHubUpstreamOwner, s_config.GitHubProject, prInfo).Result;
c.Info($"Created Pull Request: {createdPR.HtmlUrl}");
return c.Success();
}
示例8: ReturnsCorrectCountOfPullRequestsWithoutStart
public async Task ReturnsCorrectCountOfPullRequestsWithoutStart()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", branchName, "master");
var result = await _fixture.Create(Helper.UserName, _context.RepositoryName, newPullRequest);
var options = new ApiOptions
{
PageSize = 3,
PageCount = 1
};
var pullRequests = await _fixture.GetAllForRepository(Helper.UserName, _context.RepositoryName, options);
Assert.Equal(1, pullRequests.Count);
Assert.Equal(result.Title, pullRequests[0].Title);
}
示例9: CanFindClosedPullRequest
public async Task CanFindClosedPullRequest()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", branchName, "master");
var pullRequest = await _fixture.Create(Helper.UserName, _repository.Name, newPullRequest);
var updatePullRequest = new PullRequestUpdate { State = ItemState.Closed };
await _fixture.Update(Helper.UserName, _repository.Name, pullRequest.Number, updatePullRequest);
var closedPullRequests = new PullRequestRequest { State = ItemState.Closed };
var pullRequests = await _fixture.GetForRepository(Helper.UserName, _repository.Name, closedPullRequests);
Assert.Equal(1, pullRequests.Count);
}
示例10: CanClose
public async Task CanClose()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", branchName, "master");
var pullRequest = await _fixture.Create(Helper.UserName, _repository.Name, newPullRequest);
var updatePullRequest = new PullRequestUpdate { State = ItemState.Closed };
var result = await _fixture.Update(Helper.UserName, _repository.Name, pullRequest.Number, updatePullRequest);
Assert.Equal(ItemState.Closed, result.State);
Assert.Equal(pullRequest.Title, result.Title);
Assert.Equal(pullRequest.Body, result.Body);
}
示例11: CanBeMergedWithSquashCommit
public async Task CanBeMergedWithSquashCommit()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("squash commit pull request", branchName, "master");
var pullRequest = await _fixture.Create(Helper.UserName, _context.RepositoryName, newPullRequest);
var merge = new MergePullRequest { CommitMessage = "fake commit message", CommitTitle = "fake title", Squash = true };
var result = await _fixture.Merge(Helper.UserName, _context.RepositoryName, pullRequest.Number, merge);
var commit = await _github.Repository.Commit.Get(_context.RepositoryOwner, _context.RepositoryName, result.Sha);
var message = commit.Commit.Message;
Assert.True(result.Merged);
Assert.Equal("fake title\n\nfake commit message", commit.Commit.Message);
}
示例12: CanGetCommitsAndCommentCount
public async Task CanGetCommitsAndCommentCount()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", branchName, "master");
var pullRequest = await _fixture.Create(Helper.UserName, _repository.Name, newPullRequest);
// create new commit for branch
const string commitMessage = "Another commit in branch";
var branch = await _client.GitDatabase.Reference.Get(Helper.UserName, _repository.Name, "heads/" + branchName);
var newTree = await CreateTree(new Dictionary<string, string> { { "README.md", "Hello World!" } });
var newCommit = await CreateCommit(commitMessage, newTree.Sha, branch.Object.Sha);
await _client.GitDatabase.Reference.Update(Helper.UserName, _repository.Name, "heads/" + branchName, new ReferenceUpdate(newCommit.Sha));
await _repositoryCommentsClient.Create(Helper.UserName, _repository.Name, newCommit.Sha, new NewCommitComment("I am a nice comment") { Path = "README.md", Position = 1 });
// don't try this at home
await Task.Delay(TimeSpan.FromSeconds(5));
var result = await _fixture.Commits(Helper.UserName, _repository.Name, pullRequest.Number);
Assert.Equal(2, result.Count);
Assert.Equal("this is the commit to merge into the pull request", result[0].Commit.Message);
Assert.Equal(0, result[0].Commit.CommentCount);
Assert.Equal(commitMessage, result[1].Commit.Message);
Assert.Equal(1, result[1].Commit.CommentCount);
}
示例13: UpdatesMaster
public async Task UpdatesMaster()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", branchName, "master");
var pullRequest = await _fixture.Create(Helper.UserName, _repository.Name, newPullRequest);
var merge = new MergePullRequest("thing the thing");
var result = await _fixture.Merge(Helper.UserName, _repository.Name, pullRequest.Number, merge);
var master = await _client.GitDatabase.Reference.Get(Helper.UserName, _repository.Name, "heads/master");
Assert.Equal(result.Sha, master.Object.Sha);
}
示例14: IsNotMergedInitially
public async Task IsNotMergedInitially()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", branchName, "master");
var pullRequest = await _fixture.Create(Helper.UserName, _repository.Name, newPullRequest);
var result = await _fixture.Merged(Helper.UserName, _repository.Name, pullRequest.Number);
Assert.False(result);
}
示例15: CreatePullRequest
/// <summary>
/// Creates the base state for testing (creates a repo, a commit in master, a branch, a commit in the branch and a pull request)
/// </summary>
/// <returns></returns>
async Task<PullRequestData> CreatePullRequest(RepositoryContext context)
{
var repoName = context.RepositoryName;
// Creating a commit in master
var createdCommitInMaster = await CreateCommit(repoName, "Hello World!", "README.md", "heads/master", "A master commit message");
// Creating a branch
var newBranch = new NewReference(branchRef, createdCommitInMaster.Sha);
await _github.Git.Reference.Create(Helper.UserName, repoName, newBranch);
// Creating a commit in the branch
var createdCommitInBranch = await CreateCommit(repoName, "Hello from the fork!", path, branchHead, "A branch commit message");
// Creating a pull request
var pullRequest = new NewPullRequest("Nice title for the pull request", branchName, "master");
var createdPullRequest = await _github.PullRequest.Create(Helper.UserName, repoName, pullRequest);
var data = new PullRequestData
{
Sha = createdCommitInBranch.Sha,
Number = createdPullRequest.Number,
};
return data;
}