Class GitSCMSourceContext<C extends GitSCMSourceContext<C,R>,R extends GitSCMSourceRequest>

java.lang.Object
jenkins.scm.api.trait.SCMSourceContext<C,R>
jenkins.plugins.git.GitSCMSourceContext<C,R>
Type Parameters:
C - the type of GitSCMSourceContext so that the SCMSourceContext.withTrait(SCMSourceTrait) etc methods can be chained easily by subclasses.
R - the type of GitSCMSourceRequest produced by newRequest(SCMSource, TaskListener).

public class GitSCMSourceContext<C extends GitSCMSourceContext<C,R>,R extends GitSCMSourceRequest> extends jenkins.scm.api.trait.SCMSourceContext<C,R>
The SCMSourceContext for a AbstractGitSCMSource.
Since:
3.4.0
  • Constructor Details

    • GitSCMSourceContext

      public GitSCMSourceContext(@CheckForNull jenkins.scm.api.SCMSourceCriteria criteria, @NonNull jenkins.scm.api.SCMHeadObserver observer)
      Constructor.
      Parameters:
      criteria - (optional) criteria.
      observer - the SCMHeadObserver.
  • Method Details

    • wantBranches

      public final boolean wantBranches()
      Returns true if the GitSCMSourceRequest will need information about branches.
      Returns:
      true if the GitSCMSourceRequest will need information about branches.
    • wantTags

      public final boolean wantTags()
      Returns true if the GitSCMSourceRequest will need information about tags.
      Returns:
      true if the GitSCMSourceRequest will need information about tags.
    • pruneRefs

      public final boolean pruneRefs()
      Returns true if the GitSCMSourceRequest needs to be prune aware.
      Returns:
      true if the GitSCMSourceRequest needs to be prune aware.
    • wantOtherRefs

      public final boolean wantOtherRefs()
      Returns true if the GitSCMSourceRequest will need information about other refs.
      Returns:
      true if the GitSCMSourceRequest will need information about other refs.
    • getRefNameMappings

      @NonNull public Collection<GitSCMSourceContext.RefNameMapping> getRefNameMappings()
    • gitTool

      @CheckForNull public final String gitTool()
      Returns the name of the GitTool to use or null to use the default.
      Returns:
      the name of the GitTool to use or null to use the default.
    • ignoreOnPushNotifications

      public final boolean ignoreOnPushNotifications()
      Returns true if push notifications should be ignored.
      Returns:
      true if push notifications should be ignored.
    • refSpecs

      @NonNull public final List<String> refSpecs()
      Returns the list of ref specs to use.
      Returns:
      the list of ref specs to use.
    • remoteName

      @NonNull public final String remoteName()
      Returns the name to give the remote.
      Returns:
      the name to give the remote.
    • wantBranches

      @NonNull public C wantBranches(boolean include)
      Adds a requirement for branch details to any GitSCMSourceRequest for this context.
      Parameters:
      include - true to add the requirement or false to leave the requirement as is (makes simpler with method chaining)
      Returns:
      this for method chaining.
    • wantTags

      @NonNull public C wantTags(boolean include)
      Adds a requirement for tag details to any GitSCMSourceRequest for this context.
      Parameters:
      include - true to add the requirement or false to leave the requirement as is (makes simpler with method chaining)
      Returns:
      this for method chaining.
    • pruneRefs

      @NonNull public C pruneRefs(boolean include)
      Adds a requirement for git ref pruning to any GitSCMSourceRequest for this context.
      Parameters:
      include - true to add the requirement or false to leave the requirement as is (makes simpler with method chaining)
      Returns:
      this for method chaining.
    • wantOtherRef

      @NonNull public C wantOtherRef(GitSCMSourceContext.RefNameMapping other)
      Adds a requirement for details of additional refs to any GitSCMSourceRequest for this context.
      Parameters:
      other - The specification for that other ref
      Returns:
      this for method chaining.
    • withGitTool

      @NonNull public final C withGitTool(String gitTool)
      Configures the ToolInstallation.getName() to use.
      Parameters:
      gitTool - the ToolInstallation.getName() or null to use the system default.
      Returns:
      this for method chaining.
    • withIgnoreOnPushNotifications

      @NonNull public final C withIgnoreOnPushNotifications(boolean ignoreOnPushNotifications)
      Configures whether push notifications should be ignored.
      Parameters:
      ignoreOnPushNotifications - true to ignore push notifications.
      Returns:
      this for method chaining.
    • withRefSpec

      @NonNull public final C withRefSpec(@NonNull String refSpec)
      Adds the specified ref spec. If no ref specs were previously defined then the supplied ref spec will replace AbstractGitSCMSource.REF_SPEC_DEFAULT. The ref spec is expected to be processed for substitution of AbstractGitSCMSource.REF_SPEC_REMOTE_NAME_PLACEHOLDER_STR by AbstractGitSCMSource.getRemote() before use.
      Parameters:
      refSpec - the ref spec template to add.
      Returns:
      this for method chaining.
      See Also:
    • withRefSpecs

      @NonNull public final C withRefSpecs(List<String> refSpecs)
      Adds the specified ref specs. If no ref specs were previously defined then the supplied ref specs will replace AbstractGitSCMSource.REF_SPEC_DEFAULT. The ref spec is expected to be processed for substitution of AbstractGitSCMSource.REF_SPEC_REMOTE_NAME_PLACEHOLDER_STR by AbstractGitSCMSource.getRemote() before use.
      Parameters:
      refSpecs - the ref spec templates to add.
      Returns:
      this for method chaining.
      See Also:
    • withoutRefSpecs

      @NonNull public final C withoutRefSpecs()
      Clears the specified ref specs. If no ref specs are subsequently defined then AbstractGitSCMSource.REF_SPEC_DEFAULT will be used as the ref spec template.
      Returns:
      this for method chaining.
    • withRemoteName

      @NonNull public final C withRemoteName(String remoteName)
      Configures the remote name to use for the git repository.
      Parameters:
      remoteName - the remote name to use for the git repository (null or the empty string are equivalent to passing AbstractGitSCMSource.DEFAULT_REMOTE_NAME).
      Returns:
      this for method chaining.
    • asRefSpecs

      @NonNull public final List<org.eclipse.jgit.transport.RefSpec> asRefSpecs()
      Converts the ref spec templates into RefSpec instances.
      Returns:
      the list of RefSpec instances.
    • newRequest

      @NonNull public R newRequest(@NonNull jenkins.scm.api.SCMSource source, TaskListener listener)
      Specified by:
      newRequest in class jenkins.scm.api.trait.SCMSourceContext<C extends GitSCMSourceContext<C,R>,R extends GitSCMSourceRequest>