Package jenkins.plugins.git
Class GitSCMBuilder<B extends GitSCMBuilder<B>>
java.lang.Object
jenkins.scm.api.trait.SCMBuilder<B,GitSCM>
jenkins.plugins.git.GitSCMBuilder<B>
- Type Parameters:
B- the concrete type ofGitSCMBuilderso that subclasses can chain correctly in theirSCMBuilder.withHead(SCMHead)etc methods.
public class GitSCMBuilder<B extends GitSCMBuilder<B>>
extends jenkins.scm.api.trait.SCMBuilder<B,GitSCM>
The
SCMBuilder base class for AbstractGitSCMSource.- Since:
- 3.4.0
-
Constructor Summary
ConstructorsConstructorDescriptionGitSCMBuilder(jenkins.scm.api.SCMHead head, jenkins.scm.api.SCMRevision revision, String remote, String credentialsId) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionfinal StringadditionalRemote(String remoteName) Gets the remote URL of the git repository for the specified remote name.Gets the (possibly empty) additional remote names.additionalRemoteRefSpecs(String remoteName) Gets the ref specs to use for the git repository of the specified remote name.final List<org.eclipse.jgit.transport.RefSpec>Converts the ref spec templates intoRefSpecinstances.final List<UserRemoteConfig>Converts theasRefSpecs()intoUserRemoteConfiginstances.final GitRepositoryBrowserbrowser()Returns theGitRepositoryBrowserornullto use the "auto" browser.build()final StringReturns theIdCredentials.getId()of theCredentialsto use when connecting to theremoteornullto let the git client choose between providing its own credentials or connecting anonymously.final List<GitSCMExtension>Returns theGitSCMExtensioninstances to apply to theGitSCM.final StringgitTool()Returns the name of theGitToolto use ornullto use the default.refSpecs()Returns the list of ref specs to use.final Stringremote()Returns the remote URL of the git repository.final StringReturns the name to give the remote.final BwithAdditionalRemote(String remoteName, String remote, String... refSpecs) Configures an additional remote.final BwithAdditionalRemote(String remoteName, String remote, List<String> refSpecs) Configures an additional remote.final BwithBrowser(GitRepositoryBrowser browser) Configures theGitRepositoryBrowserto use.final BwithCredentials(String credentialsId) final BwithExtension(GitSCMExtension extension) Adds (or redefines) the suppliedGitSCMExtension.final BwithExtensions(GitSCMExtension... extensions) Adds (or redefines) the suppliedGitSCMExtensions.final BwithExtensions(List<GitSCMExtension> extensions) Adds (or redefines) the suppliedGitSCMExtensions.final BwithGitTool(String gitTool) Configures theToolInstallation.getName()to use.final BClears the specified ref specs.final BwithRefSpec(String refSpec) Adds the specified ref spec.final BwithRefSpecs(List<String> refSpecs) Adds the specified ref specs.final BwithRemote(String remote) Replaces the URL of the git repository.final BwithRemoteName(String remoteName) Configures the remote name to use for the git repository.Methods inherited from class jenkins.scm.api.trait.SCMBuilder
head, revision, scmClass, withHead, withRevision, withTrait, withTraits, withTraits
-
Constructor Details
-
GitSCMBuilder
public GitSCMBuilder(@NonNull jenkins.scm.api.SCMHead head, @CheckForNull jenkins.scm.api.SCMRevision revision, @NonNull String remote, @CheckForNull String credentialsId) Constructor.- Parameters:
head- TheSCMHeadto produce theSCMfor.revision- TheSCMRevisionto produce theSCMfor ornullto produce theSCMfor the head revision.remote- The remote URL of the git server.credentialsId- TheIdCredentials.getId()of theCredentialsto use when connecting to theremoteornullto let the git client choose between providing its own credentials or connecting anonymously.
-
-
Method Details
-
browser
Returns theGitRepositoryBrowserornullto use the "auto" browser.- Returns:
- The
GitRepositoryBrowserornullto use the "auto" browser.
-
credentialsId
Returns theIdCredentials.getId()of theCredentialsto use when connecting to theremoteornullto let the git client choose between providing its own credentials or connecting anonymously.- Returns:
- the
IdCredentials.getId()of theCredentialsto use when connecting to theremoteornullto let the git client choose between providing its own credentials or connecting anonymously.
-
extensions
Returns theGitSCMExtensioninstances to apply to theGitSCM.- Returns:
- the
GitSCMExtensioninstances to apply to theGitSCM.
-
gitTool
Returns the name of theGitToolto use ornullto use the default.- Returns:
- the name of the
GitToolto use ornullto use the default.
-
refSpecs
Returns the list of ref specs to use.- Returns:
- the list of ref specs to use.
-
remote
Returns the remote URL of the git repository.- Returns:
- the remote URL of the git repository.
-
remoteName
Returns the name to give the remote.- Returns:
- the name to give the remote.
-
additionalRemoteNames
Gets the (possibly empty) additional remote names.- Returns:
- the (possibly empty) additional remote names.
-
additionalRemote
Gets the remote URL of the git repository for the specified remote name.- Parameters:
remoteName- the additional remote name.- Returns:
- the remote URL of the named additional remote or
nullif the supplied name is not inadditionalRemoteNames()
-
additionalRemoteRefSpecs
Gets the ref specs to use for the git repository of the specified remote name.- Parameters:
remoteName- the additional remote name.- Returns:
- the ref specs for the named additional remote or
nullif the supplied name is not inadditionalRemoteNames()
-
withBrowser
Configures theGitRepositoryBrowserto use.- Parameters:
browser- theGitRepositoryBrowserornullto use the default "auto" browser.- Returns:
thisfor method chaining.
-
withCredentials
- Parameters:
credentialsId- theIdCredentials.getId()of theCredentialsto use when connecting to theremote()ornullto let the git client choose between providing its own credentials or connecting anonymously.- Returns:
thisfor method chaining.
-
withExtension
Adds (or redefines) the suppliedGitSCMExtension.- Parameters:
extension- theGitSCMExtension(nullvalues are safely ignored).- Returns:
thisfor method chaining.
-
withExtensions
Adds (or redefines) the suppliedGitSCMExtensions.- Parameters:
extensions- theGitSCMExtensions.- Returns:
thisfor method chaining.
-
withExtensions
Adds (or redefines) the suppliedGitSCMExtensions.- Parameters:
extensions- theGitSCMExtensions.- Returns:
thisfor method chaining.
-
withGitTool
Configures theToolInstallation.getName()to use.- Parameters:
gitTool- theToolInstallation.getName()ornullto use the system default.- Returns:
thisfor method chaining.
-
withRefSpec
Adds the specified ref spec. If no ref specs were previously defined then the supplied ref spec will replaceAbstractGitSCMSource.REF_SPEC_DEFAULT. The ref spec is expected to be processed for substitution ofAbstractGitSCMSource.REF_SPEC_REMOTE_NAME_PLACEHOLDER_STRbyremote()before use.- Parameters:
refSpec- the ref spec template to add.- Returns:
thisfor method chaining.- See Also:
-
withRefSpecs
Adds the specified ref specs. If no ref specs were previously defined then the supplied ref specs will replaceAbstractGitSCMSource.REF_SPEC_DEFAULT. The ref spec is expected to be processed for substitution ofAbstractGitSCMSource.REF_SPEC_REMOTE_NAME_PLACEHOLDER_STRbyremote()before use.- Parameters:
refSpecs- the ref spec templates to add.- Returns:
thisfor method chaining.- See Also:
-
withoutRefSpecs
Clears the specified ref specs. If no ref specs are subsequently defined thenAbstractGitSCMSource.REF_SPEC_DEFAULTwill be used as the ref spec template.- Returns:
thisfor method chaining.
-
withRemote
Replaces the URL of the git repository.- Parameters:
remote- the new URL to use for the git repository.- Returns:
thisfor method chaining.
-
withRemoteName
Configures the remote name to use for the git repository.- Parameters:
remoteName- the remote name to use for the git repository (nullor the empty string are equivalent to passingAbstractGitSCMSource.DEFAULT_REMOTE_NAME).- Returns:
thisfor method chaining.
-
withAdditionalRemote
@NonNull public final B withAdditionalRemote(@NonNull String remoteName, @NonNull String remote, String... refSpecs) Configures an additional remote. It is the responsibility of the caller to ensure that there are no conflicts with the eventualremote()name.- Parameters:
remoteName- the name of the additional remote.remote- the url of the additional remote.refSpecs- the ref specs of the additional remote, if empty will default toAbstractGitSCMSource.REF_SPEC_DEFAULT- Returns:
thisfor method chaining.
-
withAdditionalRemote
@NonNull public final B withAdditionalRemote(@NonNull String remoteName, @NonNull String remote, List<String> refSpecs) Configures an additional remote. It is the responsibility of the caller to ensure that there are no conflicts with the eventualremote()name.- Parameters:
remoteName- the name of the additional remote.remote- the url of the additional remote.refSpecs- the ref specs of the additional remote, if empty will default toAbstractGitSCMSource.REF_SPEC_DEFAULT- Returns:
thisfor method chaining.
-
asRefSpecs
Converts the ref spec templates intoRefSpecinstances.- Returns:
- the list of
RefSpecinstances.
-
asRemoteConfigs
Converts theasRefSpecs()intoUserRemoteConfiginstances.- Returns:
- the list of
UserRemoteConfiginstances.
-
build
- Specified by:
buildin classjenkins.scm.api.trait.SCMBuilder<B extends GitSCMBuilder<B>,GitSCM>
-