您可以使用CommitService.getCommit(IRepositoryIdProvider, String)
方法,只提供一个参数,即提交将被搜索的存储库。例如,
GitHubClient client = new GitHubClient(server).setCredentials(login, token);
RepositoryService repoService = new RepositoryService(client);
// If you know which repository to search (you know the owner and repo name)
Repository repository = repoService.getRepository(owner, repoName);
CommitService commitService = new CommitService(client)
Commit commit1 = commitService.getCommit(repository, sha).getCommit();
System.out.println("Author: " + commit1.getAuthor().getName());
System.out.println("Message: " + commit1.getMessage());
System.out.println("URL: " + commit1.getUrl());
或者,你可能只是通过从RepositoryService.getRepositories()
方法返回,如果你不知道每个库循环要搜索的存储库。例如,
List<Repository> repositories = repoService.getRepositories();
Commit commit2 = null;
for (Repository repo : repositories) {
try {
commit2 = commitService.getCommit(repo, sha).getCommit();
System.out.println("Repo: " + repo.getName());
System.out.println("Author: " + commit2.getAuthor().getName());
System.out.println("Message: " + commit2.getMessage());
System.out.println("URL: " + commit2.getUrl());
break;
} catch (RequestException re) {
if (re.getMessage().endsWith("Not Found (404)")) {
continue;
} else {
throw re;
}
}
}