public GitHubber(String accessToken) { this.accessToken = accessToken; gitHubClient = new GitHubClient(); gitHubClient.setOAuth2Token(accessToken); repositoryService = new RepositoryService(gitHubClient); }
/** * Get a list of {@link Issue} objects that match the specified filter data * * @param repository * @param filterData * @return list of issues * @throws IOException */ public List<Issue> getIssues(IRepositoryIdProvider repository, Map<String, String> filterData) throws IOException { return getAll(pageIssues(repository, filterData)); }
/** * Page issues for currently authenticated user * * @param filterData * @return iterator over pages of issues */ public PageIterator<RepositoryIssue> pageIssues( Map<String, String> filterData) { return pageIssues(filterData, PAGE_SIZE); }
/** * Get all comments on all commits in the given repository * * @param repository * @return non-null but possibly empty list of commits * @throws IOException */ public List<CommitComment> getComments(IRepositoryIdProvider repository) throws IOException { return getAll(pageComments(repository)); }
/** * Page repositories being watched by given user * * @param user * @return page iterator * @throws IOException */ public PageIterator<Repository> pageWatched(String user) throws IOException { return pageWatched(user, PAGE_SIZE); }
/** * Page repositories for currently authenticated user * * @param size * @return iterator over pages of repositories */ public PageIterator<Repository> pageRepositories(int size) { return pageRepositories(PAGE_FIRST, size); }
/** * Page events for issue in repository * * @param user * @param repository * @param issueId * @return iterator over issue event pages */ public PageIterator<IssueEvent> pageIssueEvents(String user, String repository, int issueId) { return pageIssueEvents(user, repository, issueId, PAGE_SIZE); }
/** * Create page iterator for all public events * * @param size * size of page * @return events page iterator */ public PageIterator<Event> pagePublicEvents(final int size) { return pagePublicEvents(PAGE_FIRST, size); }
/** * Create page iterator for a given user's events Returns private events if * authenticated as the user * * @param user * @return events page iterator */ public PageIterator<Event> pageUserEvents(String user) { return pageUserEvents(user, false); }
/** * Page repositories for the given organization * * @param organization * @param start * @param size * @return iterator over pages of repositories */ public PageIterator<Repository> pageOrgRepositories(String organization, int start, int size) { return pageOrgRepositories(organization, null, start, size); }
/** * Search for repositories matching query. * * @param query * @return list of repositories * @throws IOException */ public List<SearchRepository> searchRepositories(final String query) throws IOException { return searchRepositories(query, -1); }
/** * Page forks of given repository * * @param repository * @return iterator over repositories */ public PageIterator<Repository> pageForks(IRepositoryIdProvider repository) { return pageForks(repository, PAGE_SIZE); }
/** * Page all comments on all commits in the given repository * * @param repository * @return page iterator over comments */ public PageIterator<CommitComment> pageComments( IRepositoryIdProvider repository) { return pageComments(repository, PAGE_SIZE); }
/** * Page watches of given repository * * @param repository * @param size * @return page iterator */ public PageIterator<User> pageWatchers(IRepositoryIdProvider repository, int size) { return pageWatchers(repository, PAGE_FIRST, size); }
/** * Page pull request commit comments * * @param repository * @param id * @return iterator over pages of commit comments */ public PageIterator<CommitComment> pageComments( IRepositoryIdProvider repository, int id) { return pageComments(repository, id, PAGE_SIZE); }
public Repository createCommit(File srcFolder, String applicationName) throws IOException, GitAPIException { Repository repository = repositoryService.createRepository(new Repository().setName(applicationName)); String cloneUrl = repository.getCloneUrl(); InitCommand init = new InitCommand(); init.setDirectory(srcFolder); init.setBare(false); Git git = init.call(); StoredConfig config = git.getRepository().getConfig(); config.setString("remote", "origin", "url", cloneUrl); config.save(); UsernamePasswordCredentialsProvider user = new UsernamePasswordCredentialsProvider(accessToken, ""); git.add().addFilepattern(".").call(); git.commit().setMessage(COMMIT_MESSAGE).call(); git.push().setCredentialsProvider(user).call(); return repository; } }
/** * Get page iterator over issues query * * @param repository * @param filterData * @param size * @return iterator */ public PageIterator<Issue> pageIssues(IRepositoryIdProvider repository, Map<String, String> filterData, int size) { return pageIssues(repository, filterData, PAGE_FIRST, size); }
/** * Page repositories being watched by the currently authenticated user * * @return page iterator * @throws IOException */ public PageIterator<Repository> pageWatched() throws IOException { return pageWatched(PAGE_SIZE); }
/** * Page repositories for currently authenticated user * * @param start * @param size * @return iterator over pages of repositories */ public PageIterator<Repository> pageRepositories(int start, int size) { return pageRepositories((Map<String, String>) null, start, size); }
/** * Page repositories being watched by the currently authenticated user * * @param size * @return page iterator * @throws IOException */ public PageIterator<Repository> pageWatched(int size) throws IOException { return pageWatched(PAGE_FIRST, size); }