OrganizationWrapper(GHOrganization organization) { this.organization = organization; List<RepositoryWrapper> repositories; try { repositories = organization.listRepositories().asList().stream() .filter(r -> !r.isPrivate()) // deal with public repos only .filter(r -> !r.isFork()) // skip forks as they change statistics significantly .map(repository -> new RepositoryWrapper(repository, organization)) .collect(Collectors.toList()); } catch (Throwable t) { logger.warn("No repositories found for organization '{}'.", organization.getLogin()); repositories = Collections.<RepositoryWrapper>emptyList(); } this.repositories = Collections.unmodifiableList(repositories); }
@Override public List<Repository> getRepositories(String accessToken, String organizationName) throws IOException, ServiceException { GitHub gitHub = GitHub.connectUsingOAuth(accessToken); GHPerson person = StringUtils.isBlank(organizationName) ? gitHub.getMyself() : gitHub.getOrganization(organizationName); return person.listRepositories().asList().stream().map(repository -> { Repository repo = new Repository(repository.getName()); repo.setPrivate(repository.isPrivate()); repo.setUrl(repository.getHtmlUrl().toString()); return repo; }).collect(Collectors.toList()); }
protected void addDeployKey() throws IOException { if (getRepository().isPrivate()) { removeDeployKeyIfPreviouslyAdded(); final DeployKeyPair keyPair = new KeyPairGenerator().generateKeyPair(); getRepository().addDeployKey("DotCi", keyPair.publicKey); this.githubDeployKeyRepository.put(getRepository().getHtmlUrl().toExternalForm(), keyPair); } }