mirror of
https://github.com/jlengrand/github-api.git
synced 2026-03-19 00:11:23 +00:00
248 lines
6.7 KiB
HTML
248 lines
6.7 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<html>
|
|
<head>
|
|
<title>GitHub API for Java - </title>
|
|
<style type="text/css" media="all">
|
|
@import url("./css/maven-base.css");
|
|
@import url("./css/maven-theme.css");
|
|
@import url("./css/1024px.css");
|
|
@import url("./css/site.css");
|
|
</style>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
</head>
|
|
<body>
|
|
<div id="wrap2"><div id="wrap">
|
|
<div id="header">
|
|
<p id="toplinks">Skip to: <a href="#content">Content</a> | <a href="#sidebar">Navigation</a> | <a href="#footer">Footer</a></p>
|
|
|
|
<h1 id="bannerLeft">
|
|
<a href="./">
|
|
|
|
GitHub API for Java
|
|
|
|
</a>
|
|
</h1>
|
|
|
|
<p id="slogan">GitHub API for Java</p>
|
|
</div>
|
|
<div id="breadcrumbs">
|
|
<div class="xright"> </div>
|
|
<div class="clear">
|
|
<hr/>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="sidebar">
|
|
<div id="navcolumn">
|
|
<h2>
|
|
Git Hub API for Java
|
|
</h2><ul>
|
|
|
|
<li class="none">
|
|
<strong>Introduction</strong>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<a href="http://mvnrepository.com/artifact/org.kohsuke/github-api">Download</a>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<a href="https://github.com/kohsuke/github-api">Source code</a>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<a href="https://groups.google.com/forum/#!forum/github-api">Mailing List</a>
|
|
</li>
|
|
</ul>
|
|
<h2>
|
|
References
|
|
</h2><ul>
|
|
|
|
<li class="none">
|
|
<a href="apidocs/index.html">Javadoc</a>
|
|
</li>
|
|
</ul>
|
|
<h2>
|
|
Project Documentation
|
|
</h2><ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="expanded">
|
|
<a href="project-info.html">Project Information</a>
|
|
<ul>
|
|
|
|
<li class="none">
|
|
<a href="dependencies.html">Dependencies</a>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<a href="dependency-convergence.html">Dependency Convergence</a>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<a href="dependency-info.html">Dependency Information</a>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<a href="distribution-management.html">Distribution Management</a>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<strong>About</strong>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<a href="license.html">Project License</a>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<a href="mail-lists.html">Mailing Lists</a>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<a href="plugin-management.html">Plugin Management</a>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<a href="plugins.html">Project Plugins</a>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<a href="team-list.html">Project Team</a>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<a href="source-repository.html">Source Repository</a>
|
|
</li>
|
|
|
|
<li class="none">
|
|
<a href="project-summary.html">Project Summary</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="collapsed">
|
|
<a href="project-reports.html">Project Reports</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div id="content">
|
|
<div id="contentBox">
|
|
<h1>What is this?</h1>
|
|
|
|
<p>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 <code>GHUser</code> and <code>GHRepository</code>),
|
|
operations that act on them as defined as methods (such as <code>GHUser.follow()</code>), and those object references
|
|
are used in favor of using string handle (such as <code>GHUser.isMemberOf(GHOrganization)</code> instead of
|
|
<code>GHUser.isMemberOf(String)</code>)</p>
|
|
|
|
<p>The library supports both github.com and GitHub Enterprise.</p>
|
|
|
|
<p>Most of the GitHub APIs are covered, although there are some corners that are still not yet implemented.</p>
|
|
|
|
<h2>Sample Usage</h2>
|
|
|
|
<pre><code>GitHub github = GitHub.connect();
|
|
GHRepository repo = github.createRepository(
|
|
"new-repository","this is my new repository",
|
|
"http://www.kohsuke.org/",true/*public*/);
|
|
repo.addCollaborators(github.getUser("abayer"),github.getUser("rtyler"));
|
|
repo.delete();
|
|
</code></pre>
|
|
|
|
<h2>Credential</h2>
|
|
|
|
<p>This library allows the caller to supply the credential as parameters, but it also defines a common convention
|
|
so that applications using this library will look at the consistent location. In this convention, the library
|
|
looks at <code>~/.github</code> property file, which should have the following two values:</p>
|
|
|
|
<pre><code>login=kohsuke
|
|
password=012345678
|
|
</code></pre>
|
|
|
|
<p>Alternatively, you can have just the OAuth token in this file:</p>
|
|
|
|
<pre><code>oauth=4d98173f7c075527cb64878561d1fe70
|
|
</code></pre>
|
|
|
|
<h2>OkHttp</h2>
|
|
|
|
<p>This library comes with a pluggable connector to use different HTTP client implementations
|
|
through <code>HttpConnector</code>. In particular, this means you can use <a href="http://square.github.io/okhttp/">OkHttp</a>,
|
|
so we can make use of it's HTTP response cache.
|
|
Making a conditional request against the GitHub API and receiving a 304 response
|
|
<a href="http://developer.github.com/v3/#conditional-requests">does not count against the rate limit</a>.</p>
|
|
|
|
<p>The following code shows an example of how to set up persistent cache on the disk:</p>
|
|
|
|
<pre><code>Cache cache = new Cache(cacheDirectory, 10 * 1024 * 1024); // 10MB cache
|
|
GitHub gitHub = GitHubBuilder.fromCredentials()
|
|
.withConnector(new OkHttpConnector(new OkUrlFactory(new OkHttpClient().setCache(cache))))
|
|
.build();
|
|
</code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div id="footer">
|
|
<div class="xright">©
|
|
2015
|
|
|
|
<a href="http://kohsuke.org/">Kohsuke Kawaguchi</a> and other contributors
|
|
|
|
|
|
|
|
|
|
|
|
| Last Published: 2015-03-24
|
|
| Version: 1.66
|
|
</div>
|
|
<div class="clear">
|
|
<hr/>
|
|
</div>
|
|
</div>
|
|
</div></div>
|
|
</body>
|
|
</html>
|