Class GitHubBuilder
- java.lang.Object
-
- org.kohsuke.github.GitHubBuilder
-
-
Constructor Summary
Constructors Constructor Description GitHubBuilder()Instantiates a new Git hub builder.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description GitHubbuild()Builds aGitHubinstance.GitHubBuilderclone()static GitHubBuilderfromEnvironment()CreatesGitHubBuilderby picking up coordinates from environment variables.static GitHubBuilderfromEnvironment(String loginVariableName, String passwordVariableName, String oauthVariableName)Deprecated.UsefromEnvironment()to pick up standard set of environment variables, so that different clients of this library will all recognize one consistent set of coordinates.static GitHubBuilderfromEnvironment(String loginVariableName, String passwordVariableName, String oauthVariableName, String endpointVariableName)Deprecated.UsefromEnvironment()to pick up standard set of environment variables, so that different clients of this library will all recognize one consistent set of coordinates.static GitHubBuilderfromProperties(Properties props)From properties git hub builder.static GitHubBuilderfromPropertyFile()From property file git hub builder.static GitHubBuilderfromPropertyFile(String propertyFileName)From property file git hub builder.GitHubBuilderwithAbuseLimitHandler(AbuseLimitHandler handler)Adds aAbuseLimitHandlerto thisGitHubBuilder.GitHubBuilderwithAppInstallationToken(String appInstallationToken)ConfiguresGitHubBuilderwith Installation Token generated by the GitHub ApplicationGitHubBuilderwithAuthorizationProvider(AuthorizationProvider authorizationProvider)Configures aAuthorizationProviderfor this builder There can be only one authorization provider per client instance.GitHubBuilderwithConnector(HttpConnector connector)With connector git hub builder.GitHubBuilderwithEndpoint(String endpoint)With endpoint git hub builder.GitHubBuilderwithJwtToken(String jwtToken)With jwt token git hub builder.GitHubBuilderwithOAuthToken(String oauthToken)With o auth token git hub builder.GitHubBuilderwithOAuthToken(String oauthToken, String user)With o auth token git hub builder.GitHubBuilderwithPassword(String user, String password)With password git hub builder.GitHubBuilderwithProxy(Proxy p)Configures connector that uses HTTP library in JRE but use a specific proxy, instead of the system default one.GitHubBuilderwithRateLimitChecker(RateLimitChecker coreRateLimitChecker)Adds aRateLimitCheckerfor the Core API for thisGitHubBuilder.GitHubBuilderwithRateLimitChecker(RateLimitChecker rateLimitChecker, RateLimitTarget rateLimitTarget)Adds aRateLimitCheckerto thisGitHubBuilder.GitHubBuilderwithRateLimitHandler(RateLimitHandler handler)Adds aRateLimitHandlerto thisGitHubBuilder.
-
-
-
Method Detail
-
fromEnvironment
@Deprecated public static GitHubBuilder fromEnvironment(String loginVariableName, String passwordVariableName, String oauthVariableName) throws IOException
Deprecated.UsefromEnvironment()to pick up standard set of environment variables, so that different clients of this library will all recognize one consistent set of coordinates.From environment git hub builder.- Parameters:
loginVariableName- the login variable namepasswordVariableName- the password variable nameoauthVariableName- the oauth variable name- Returns:
- the git hub builder
- Throws:
IOException- the io exception
-
fromEnvironment
@Deprecated public static GitHubBuilder fromEnvironment(String loginVariableName, String passwordVariableName, String oauthVariableName, String endpointVariableName) throws IOException
Deprecated.UsefromEnvironment()to pick up standard set of environment variables, so that different clients of this library will all recognize one consistent set of coordinates.From environment git hub builder.- Parameters:
loginVariableName- the login variable namepasswordVariableName- the password variable nameoauthVariableName- the oauth variable nameendpointVariableName- the endpoint variable name- Returns:
- the git hub builder
- Throws:
IOException- the io exception
-
fromEnvironment
public static GitHubBuilder fromEnvironment() throws IOException
CreatesGitHubBuilderby picking up coordinates from environment variables.The following environment variables are recognized:
- GITHUB_LOGIN: username like 'kohsuke'
- GITHUB_PASSWORD: raw password
- GITHUB_OAUTH: OAuth token to login
- GITHUB_ENDPOINT: URL of the API endpoint
- GITHUB_JWT: JWT token to login
See class javadoc for the relationship between these coordinates.
For backward compatibility, the following environment variables are recognized but discouraged: login, password, oauth
- Returns:
- the git hub builder
- Throws:
IOException- the io exception
-
fromPropertyFile
public static GitHubBuilder fromPropertyFile() throws IOException
From property file git hub builder.- Returns:
- the git hub builder
- Throws:
IOException- the io exception
-
fromPropertyFile
public static GitHubBuilder fromPropertyFile(String propertyFileName) throws IOException
From property file git hub builder.- Parameters:
propertyFileName- the property file name- Returns:
- the git hub builder
- Throws:
IOException- the io exception
-
fromProperties
public static GitHubBuilder fromProperties(Properties props)
From properties git hub builder.- Parameters:
props- the props- Returns:
- the git hub builder
-
withEndpoint
public GitHubBuilder withEndpoint(String endpoint)
With endpoint git hub builder.- Parameters:
endpoint- The URL of GitHub (or GitHub enterprise) API endpoint, such as "https://api.github.com" or "http://ghe.acme.com/api/v3". Note that GitHub Enterprise has/api/v3in the URL. For historical reasons, this parameter still accepts the bare domain name, but that's considered deprecated.- Returns:
- the git hub builder
-
withPassword
public GitHubBuilder withPassword(String user, String password)
With password git hub builder.- Parameters:
user- the userpassword- the password- Returns:
- the git hub builder
-
withOAuthToken
public GitHubBuilder withOAuthToken(String oauthToken)
With o auth token git hub builder.- Parameters:
oauthToken- the oauth token- Returns:
- the git hub builder
-
withOAuthToken
public GitHubBuilder withOAuthToken(String oauthToken, String user)
With o auth token git hub builder.- Parameters:
oauthToken- the oauth tokenuser- the user- Returns:
- the git hub builder
-
withAuthorizationProvider
public GitHubBuilder withAuthorizationProvider(AuthorizationProvider authorizationProvider)
Configures aAuthorizationProviderfor this builder There can be only one authorization provider per client instance.- Parameters:
authorizationProvider- the authorization provider- Returns:
- the git hub builder
-
withAppInstallationToken
public GitHubBuilder withAppInstallationToken(String appInstallationToken)
ConfiguresGitHubBuilderwith Installation Token generated by the GitHub Application- Parameters:
appInstallationToken- A string containing the GitHub App installation token- Returns:
- the configured Builder from given GitHub App installation token.
- See Also:
GHAppInstallation#createToken(java.util.Map)
-
withJwtToken
public GitHubBuilder withJwtToken(String jwtToken)
With jwt token git hub builder.- Parameters:
jwtToken- the jwt token- Returns:
- the git hub builder
-
withConnector
public GitHubBuilder withConnector(HttpConnector connector)
With connector git hub builder.- Parameters:
connector- the connector- Returns:
- the git hub builder
-
withRateLimitHandler
public GitHubBuilder withRateLimitHandler(RateLimitHandler handler)
Adds aRateLimitHandlerto thisGitHubBuilder.GitHub allots a certain number of requests to each user or application per period of time (usually per hour). The number of requests remaining is returned in the response header and can also be requested using
GitHub.getRateLimit(). This requests per interval is referred to as the "rate limit".When the remaining number of requests reaches zero, the next request will return an error. If this happens,
RateLimitHandler.onError(IOException, HttpURLConnection)will be called.NOTE: GitHub treats clients that exceed their rate limit very harshly. If possible, clients should avoid exceeding their rate limit. Consider adding a
RateLimitCheckerto automatically check the rate limit for each request and wait if needed.- Parameters:
handler- the handler- Returns:
- the git hub builder
- See Also:
withRateLimitChecker(RateLimitChecker)
-
withAbuseLimitHandler
public GitHubBuilder withAbuseLimitHandler(AbuseLimitHandler handler)
Adds aAbuseLimitHandlerto thisGitHubBuilder.When a client sends too many requests in a short time span, GitHub may return an error and set a header telling the client to not make any more request for some period of time. If this happens,
AbuseLimitHandler.onError(IOException, HttpURLConnection)will be called.- Parameters:
handler- the handler- Returns:
- the git hub builder
-
withRateLimitChecker
public GitHubBuilder withRateLimitChecker(@Nonnull RateLimitChecker coreRateLimitChecker)
Adds aRateLimitCheckerfor the Core API for thisGitHubBuilder.- Parameters:
coreRateLimitChecker- theRateLimitCheckerfor core GitHub API requests- Returns:
- the git hub builder
- See Also:
withRateLimitChecker(RateLimitChecker, RateLimitTarget)
-
withRateLimitChecker
public GitHubBuilder withRateLimitChecker(@Nonnull RateLimitChecker rateLimitChecker, @Nonnull RateLimitTarget rateLimitTarget)
Adds aRateLimitCheckerto thisGitHubBuilder.GitHub allots a certain number of requests to each user or application per period of time (usually per hour). The number of requests remaining is returned in the response header and can also be requested using
GitHub.getRateLimit(). This requests per interval is referred to as the "rate limit".GitHub prefers that clients stop before exceeding their rate limit rather than stopping after they exceed it. The
RateLimitCheckeris called before each request to check the rate limit and wait if the checker criteria are met.Checking your rate limit using
GitHub.getRateLimit()does not effect your rate limit, but eachGitHubinstance will attempt to cache and reuse the last seen rate limit rather than making a new request.- Parameters:
rateLimitChecker- theRateLimitCheckerfor requestsrateLimitTarget- theRateLimitTargetspecifying which rate limit record to check- Returns:
- the git hub builder
-
withProxy
public GitHubBuilder withProxy(Proxy p)
Configures connector that uses HTTP library in JRE but use a specific proxy, instead of the system default one.- Parameters:
p- the p- Returns:
- the git hub builder
-
build
public GitHub build() throws IOException
Builds aGitHubinstance.- Returns:
- the git hub
- Throws:
IOException- the io exception
-
clone
public GitHubBuilder clone()
-
-