下面是一個示例來獲取所有提交對使用書面pull請求Octokit.NET(https://github.com/octokit/octokit.net)
var owner = "...";
var repository = "...";
var gitHubClient = new GitHubClient(
new ProductHeaderValue("MyApp"),
new InMemoryCredentialStore(new Credentials("GitHubToken")));
var pullRequest = await gitHubClient.PullRequest.Get(owner, repository, pullRequestNumber);
Console.WriteLine("Summarising Pull Request #{0} - {1}", pullRequest.Number, pullRequest.Title);
var commits = new List<GitHubCommit>();
var moreToGet = true;
var headSha = pullRequest.Head.Sha;
while (moreToGet)
{
var comparison =
await
gitHubClient.Repository.Commits.Compare(
owner,
repository,
pullRequest.Base.Sha,
headSha);
// Because we're working backwards from the head towards the base, but the oldest commits are at the start of the list
commits.InsertRange(0, comparison.Commits);
moreToGet = comparison.Commits.Count == 250;
if (moreToGet)
{
headSha = commits.First().Sha;
}
}
我本來試圖使如果moreToGet設置爲true的與基地SHA犯被發現,但從未包括在提交的名單(不知道爲什麼),所以我只是承擔更多的得到,如果打的比較的250
我已經聯繫了GitHub支持。作爲一個API封裝的作者,我自己對此很好奇。如果他們不回答,我會回覆他們回答的問題。 –
謝謝@ sigmavirus24! – etlovett
是的,他們從來沒有回到我身邊......對不起 –