This library defines an object oriented representation of the GitHub API. By "object oriented" we mean there are classes that correspond to the domain model of GitHub (such as GHUser and GHRepository), operations that act on them as defined as methods (such as GHUser.follow()), and those object references are used in favor of using string handle (such as GHUser.isMemberOf(GHOrganization) instead of GHUser.isMemberOf(String)) The library supports both github.com and GitHub Enterprise. Most of the GitHub APIs are covered, although there are some corners that are still not yet implemented. The library allows connecting to GitHub via several different authentication mechanisms. This library defines a common convention so that applications using this library will look at a consistent location. In this convention, the library looks at ~/.github property file. The content of the files depends on the way you want this library to authenticate as shown.
Features
- Property file
- Connect via Personal access token
- Connect via Username and Password
- Connect via JWT token as a GitHub App
- Environmental variables
- Pluggable HTTP client