Skip to content
This repository has been archived by the owner on Apr 20, 2022. It is now read-only.

Abstraction over fetching data from repository management services

License

Apache-2.0, Apache-2.0 licenses found

Licenses found

Apache-2.0
LICENSE
Apache-2.0
LICENSE.txt
Notifications You must be signed in to change notification settings

spring-attic/cloudpipelines-project-crawler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

cloudpipelines-project-crawler is no longer actively maintained by VMware, Inc.

CircleCI
codecov

Project Crawler

Small project to iterate over and fetch files from different repository management tools like Github, Gitlab, BitBucket

Examples

Fetch the repositories for an org and download a file from it

ProjectCrawler crawler = new ProjectCrawler(OptionsBuilder.builder()
  // basing the root URL we can resolve the type of repo (e.g. https://gitlab.com)
  .rootUrl(urlRoot)
  // username to access the API
  .username(username)
  // password to access the API
  .password(password)
  // token to access the API
  .token(token)
  // repository type (GITHUB, BITBUCKET, GITLAB, OTHER)
  .repository(repoType)
  .build());
// get the repos from the org
List<Repository> repositories = crawler.repositories(org);
repositories.each { Repository repo ->
  // fetch a file from the repository
  String file = crawler.fileContent(org, repo.name, repo.requestedBranch, "path/to/file.txt")
}

For BitBucket:

Adding your own implementation

If you’re using some other tool than Github, Gitlab or Bitbucket you can write an implementation that integrates with that tool.

We’re using the standard, Java ServiceLoader mechanism to load any extensions and the interface to implement is RepositoryManagementBuilder.

To do that just create a file called META-INF/io.cloudpipelines.projectcrawler.RepositoryManagementBuilder that is accessible on classpath. The file should contain a line with fully qualified name of your implementation class (e.g. com.example.TestRepositoryManagementBuilder)

About

Abstraction over fetching data from repository management services

Resources

License

Apache-2.0, Apache-2.0 licenses found

Licenses found

Apache-2.0
LICENSE
Apache-2.0
LICENSE.txt

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages