Class GitHubSCMSourceRequest
- java.lang.Object
-
- jenkins.scm.api.trait.SCMSourceRequest
-
- org.jenkinsci.plugins.github_branch_source.GitHubSCMSourceRequest
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class GitHubSCMSourceRequest extends jenkins.scm.api.trait.SCMSourceRequest
TheSCMSourceRequest
for GitHub.- Since:
- 2.2.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jenkins.scm.api.trait.SCMSourceRequest
jenkins.scm.api.trait.SCMSourceRequest.IntermediateLambda<I extends Object>, jenkins.scm.api.trait.SCMSourceRequest.LazyRevisionLambda<H extends jenkins.scm.api.SCMHead,R extends jenkins.scm.api.SCMRevision,I extends Object>, jenkins.scm.api.trait.SCMSourceRequest.ProbeLambda<H extends jenkins.scm.api.SCMHead,I extends Object>, jenkins.scm.api.trait.SCMSourceRequest.RevisionLambda<H extends jenkins.scm.api.SCMHead,R extends jenkins.scm.api.SCMRevision>, jenkins.scm.api.trait.SCMSourceRequest.Witness<H extends jenkins.scm.api.SCMHead,R extends jenkins.scm.api.SCMRevision>
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
checkApiRateLimit()
Deprecated.rate limit checking is done automaticallyvoid
close()
Iterable<org.kohsuke.github.GHBranch>
getBranches()
Returns the branch details or an empty list if either the request did not specify toisFetchBranches()
or if the branch details have not been provided bysetBranches(Iterable)
yet.Set<String>
getCollaboratorNames()
Returns the names of the repository collaborators ornull
if those details have not been provided yet.Set<jenkins.scm.api.mixin.ChangeRequestCheckoutStrategy>
getForkPRStrategies()
Returns theChangeRequestCheckoutStrategy
to create for each fork pull request.org.kohsuke.github.GitHub
getGitHub()
Returns theGitHub
API connector to use for the request.Set<jenkins.scm.api.mixin.ChangeRequestCheckoutStrategy>
getOriginPRStrategies()
Returns theChangeRequestCheckoutStrategy
to create for each origin pull request.org.kohsuke.github.GHPermissionType
getPermissions(String username)
Returns the permissions of the supplied user.GitHubPermissionsSource
getPermissionsSource()
Returns the permission source.Map<Boolean,Set<jenkins.scm.api.mixin.ChangeRequestCheckoutStrategy>>
getPRStrategies()
Returns theChangeRequestCheckoutStrategy
to create for each pull request.Set<jenkins.scm.api.mixin.ChangeRequestCheckoutStrategy>
getPRStrategies(boolean fork)
Returns theChangeRequestCheckoutStrategy
to create for pull requests of the specified type.Iterable<org.kohsuke.github.GHPullRequest>
getPullRequests()
Returns the pull request details or an empty list if either the request did not specify toisFetchPRs()
or if the pull request details have not been provided bysetPullRequests(Iterable)
yet.org.kohsuke.github.GHRepository
getRepository()
Returns theGHRepository
.Set<String>
getRequestedOriginBranchNames()
Gets requested origin branch names.Set<Integer>
getRequestedPullRequestNumbers()
Returns requested pull request numbers.Set<String>
getRequestedTagNames()
Gets requested tag names.Iterable<org.kohsuke.github.GHRef>
getTags()
Returns the branch details or an empty list if either the request did not specify toisFetchBranches()
or if the branch details have not been provided bysetBranches(Iterable)
yet.boolean
isFetchBranches()
Returnstrue
if branch details need to be fetched.boolean
isFetchForkPRs()
Returnstrue
if fork pull request details need to be fetched.boolean
isFetchOriginPRs()
Returnstrue
if origin pull request details need to be fetched.boolean
isFetchPRs()
Returnstrue
if pull request details need to be fetched.boolean
isFetchTags()
Returnstrue
if tag details need to be fetched.void
setBranches(Iterable<org.kohsuke.github.GHBranch> branches)
Provides the requests with the branch details.void
setCollaboratorNames(Set<String> collaboratorNames)
Provides the request with the names of the repository collaborators.void
setGitHub(org.kohsuke.github.GitHub gitHub)
Provides theGitHub
API connector to use for the request.void
setPermissionsSource(GitHubPermissionsSource permissionsSource)
Sets the permission source.void
setPullRequests(Iterable<org.kohsuke.github.GHPullRequest> pullRequests)
Provides the requests with the pull request details.void
setRepository(org.kohsuke.github.GHRepository repository)
Sets theGHRepository
.void
setTags(Iterable<org.kohsuke.github.GHRef> tags)
Provides the requests with the tag details.
-
-
-
Method Detail
-
isFetchBranches
public final boolean isFetchBranches()
Returnstrue
if branch details need to be fetched.- Returns:
true
if branch details need to be fetched.
-
isFetchTags
public final boolean isFetchTags()
Returnstrue
if tag details need to be fetched.- Returns:
true
if tag details need to be fetched.
-
isFetchPRs
public final boolean isFetchPRs()
Returnstrue
if pull request details need to be fetched.- Returns:
true
if pull request details need to be fetched.
-
isFetchOriginPRs
public final boolean isFetchOriginPRs()
Returnstrue
if origin pull request details need to be fetched.- Returns:
true
if origin pull request details need to be fetched.
-
isFetchForkPRs
public final boolean isFetchForkPRs()
Returnstrue
if fork pull request details need to be fetched.- Returns:
true
if fork pull request details need to be fetched.
-
getOriginPRStrategies
@NonNull public final Set<jenkins.scm.api.mixin.ChangeRequestCheckoutStrategy> getOriginPRStrategies()
Returns theChangeRequestCheckoutStrategy
to create for each origin pull request.- Returns:
- the
ChangeRequestCheckoutStrategy
to create for each origin pull request.
-
getForkPRStrategies
@NonNull public final Set<jenkins.scm.api.mixin.ChangeRequestCheckoutStrategy> getForkPRStrategies()
Returns theChangeRequestCheckoutStrategy
to create for each fork pull request.- Returns:
- the
ChangeRequestCheckoutStrategy
to create for each fork pull request.
-
getPRStrategies
@NonNull public final Set<jenkins.scm.api.mixin.ChangeRequestCheckoutStrategy> getPRStrategies(boolean fork)
Returns theChangeRequestCheckoutStrategy
to create for pull requests of the specified type.- Parameters:
fork
-true
to return strategies for the fork pull requests,false
for origin pull requests.- Returns:
- the
ChangeRequestCheckoutStrategy
to create for each pull request.
-
getPRStrategies
public final Map<Boolean,Set<jenkins.scm.api.mixin.ChangeRequestCheckoutStrategy>> getPRStrategies()
Returns theChangeRequestCheckoutStrategy
to create for each pull request.- Returns:
- a map of the
ChangeRequestCheckoutStrategy
to create for each pull request keyed by whether the strategy applies to forks or not (Boolean.FALSE
is the key for origin pull requests)
-
getRequestedPullRequestNumbers
@CheckForNull public final Set<Integer> getRequestedPullRequestNumbers()
Returns requested pull request numbers.- Returns:
- the requested pull request numbers or
null
if the request was not scoped to a subset of pull requests.
-
getRequestedOriginBranchNames
@CheckForNull public final Set<String> getRequestedOriginBranchNames()
Gets requested origin branch names.- Returns:
- the requested origin branch names or
null
if the request was not scoped to a subset of branches.
-
getRequestedTagNames
@CheckForNull public final Set<String> getRequestedTagNames()
Gets requested tag names.- Returns:
- the requested tag names or
null
if the request was not scoped to a subset of tags.
-
setPullRequests
public void setPullRequests(@CheckForNull Iterable<org.kohsuke.github.GHPullRequest> pullRequests)
Provides the requests with the pull request details.- Parameters:
pullRequests
- the pull request details.
-
getPullRequests
@NonNull public Iterable<org.kohsuke.github.GHPullRequest> getPullRequests()
Returns the pull request details or an empty list if either the request did not specify toisFetchPRs()
or if the pull request details have not been provided bysetPullRequests(Iterable)
yet.- Returns:
- the details of pull requests, may be limited by
getRequestedPullRequestNumbers()
or may be empty if notisFetchPRs()
-
setBranches
public final void setBranches(@CheckForNull Iterable<org.kohsuke.github.GHBranch> branches)
Provides the requests with the branch details.- Parameters:
branches
- the branch details.
-
getBranches
@NonNull public final Iterable<org.kohsuke.github.GHBranch> getBranches()
Returns the branch details or an empty list if either the request did not specify toisFetchBranches()
or if the branch details have not been provided bysetBranches(Iterable)
yet.- Returns:
- the branch details (may be empty)
-
setTags
public final void setTags(@CheckForNull Iterable<org.kohsuke.github.GHRef> tags)
Provides the requests with the tag details.- Parameters:
tags
- the tag details.
-
getTags
@NonNull public final Iterable<org.kohsuke.github.GHRef> getTags()
Returns the branch details or an empty list if either the request did not specify toisFetchBranches()
or if the branch details have not been provided bysetBranches(Iterable)
yet.- Returns:
- the branch details (may be empty)
-
setCollaboratorNames
public final void setCollaboratorNames(@CheckForNull Set<String> collaboratorNames)
Provides the request with the names of the repository collaborators.- Parameters:
collaboratorNames
- the names of the repository collaborators.
-
getCollaboratorNames
public final Set<String> getCollaboratorNames()
Returns the names of the repository collaborators ornull
if those details have not been provided yet.- Returns:
- the names of the repository collaborators or
null
if those details have not been provided yet.
-
checkApiRateLimit
@Deprecated public final void checkApiRateLimit() throws IOException, InterruptedException
Deprecated.rate limit checking is done automaticallyChecks the API rate limit and sleeps if over-used until the remaining limit is on-target for expected usage.- Throws:
IOException
- if the rate limit could not be obtained.InterruptedException
- if interrupted while waiting.
-
getGitHub
@CheckForNull public org.kohsuke.github.GitHub getGitHub()
Returns theGitHub
API connector to use for the request.- Returns:
- the
GitHub
API connector to use for the request ornull
if caller should establish their own.
-
setGitHub
public void setGitHub(@CheckForNull org.kohsuke.github.GitHub gitHub)
Provides theGitHub
API connector to use for the request.- Parameters:
gitHub
-GitHub
API connector to use for the request.
-
getRepository
public org.kohsuke.github.GHRepository getRepository()
Returns theGHRepository
.- Returns:
- the
GHRepository
.
-
setRepository
public void setRepository(org.kohsuke.github.GHRepository repository)
Sets theGHRepository
.- Parameters:
repository
- theGHRepository
.
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classjenkins.scm.api.trait.SCMSourceRequest
- Throws:
IOException
-
getPermissions
public org.kohsuke.github.GHPermissionType getPermissions(String username) throws IOException, InterruptedException
Returns the permissions of the supplied user.- Parameters:
username
- the user.- Returns:
- the permissions of the supplied user.
- Throws:
IOException
- if the permissions could not be retrieved.InterruptedException
- if interrupted while retrieving the permissions.
-
getPermissionsSource
@CheckForNull public GitHubPermissionsSource getPermissionsSource()
Returns the permission source.- Returns:
- the permission source.
-
setPermissionsSource
public void setPermissionsSource(@CheckForNull GitHubPermissionsSource permissionsSource)
Sets the permission source.- Parameters:
permissionsSource
- the permission source.
-
-