Interface GitHub

All Known Implementing Classes:
MkGitHub, RtGitHub

@Immutable public interface GitHub
GitHub client, starting point to the entire library.

This is how you start communicating with GitHub API:

 GitHub github = new RtGitHub(oauthKey);
 Repo repo = github.repos().get(
     new Coordinates.Simple("jcabi/jcabi-github")
 );
 Issues issues = repo.issues();
 Issue issue = issues.post("issue title", "issue body");

It is strongly recommended to use RetryWire to avoid accidental I/O exceptions:

 GitHub github = new RtGitHub(
   new RtGitHub(oauthKey)
     .entry()
     .through(RetryWire.class)
 );

The interfaces in this packages are trying to cover as much as possible of GitHub API. However, there are parts of API that are rarely used and making Java classes for them is not an effective idea. That's why GitHub class has entry() method, which returns an entry point to the RESTful API. For example, you want to use "Search Repositories" feature of GitHub:

 GitHub github = new RtGitHub(oauthKey);
 int found = github.entry()
   .uri().path("/search/repositories").back()
   .method(Request.GET)
   .fetch()
   .as(JsonResponse.class)
   .getJsonObject()
   .getNumber("total_count")
   .intValue();
Since:
0.1
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static final class 
    Time in GitHub JSON.
  • Method Summary

    Modifier and Type
    Method
    Description
    jakarta.json.JsonObject
    Get emojis.
    com.jcabi.http.Request
    RESTful request, an entry point to the GitHub API.
    Get Gists API entry point.
    Get gitignores.
    Rate limit API entry point.
    Get Markdown API entry point.
    jakarta.json.JsonObject
    Get meta information.
    Get Organizations API entry point.
    Get repositories.
    Search API entry point.
    Get Users API entry point.
  • Method Details

    • entry

      com.jcabi.http.Request entry()
      RESTful request, an entry point to the GitHub API.
      Returns:
      Request
    • repos

      Repos repos()
      Get repositories.
      Returns:
      Repositories
    • gists

      Gists gists()
      Get Gists API entry point.
      Returns:
      Gists API entry point
    • users

      Users users()
      Get Users API entry point.
      Returns:
      Users API entry point
      Since:
      0.4
    • organizations

      Organizations organizations()
      Get Organizations API entry point.
      Returns:
      Organizations API entry point
      Since:
      0.24
    • markdown

      Markdown markdown()
      Get Markdown API entry point.
      Returns:
      Markdown API entry point
      Since:
      0.6
    • limits

      Limits limits()
      Rate limit API entry point.
      Returns:
      Rate limit API
      Since:
      0.6
    • search

      Search search()
      Search API entry point.
      Returns:
      Search API
      Since:
      0.8
    • gitignores

      Gitignores gitignores()
      Get gitignores.
      Returns:
      Gitignotes API
      Since:
      0.8
      See Also:
    • meta

      jakarta.json.JsonObject meta() throws IOException
      Get meta information.
      Returns:
      JSON with meta
      Throws:
      IOException - If there is any I/O problem
      Since:
      0.6
      See Also:
    • emojis

      jakarta.json.JsonObject emojis() throws IOException
      Get emojis.
      Returns:
      JSON with emojis
      Throws:
      IOException - If there is any I/O problem
      Since:
      0.6
      See Also: