Class BitbucketSCMSource

java.lang.Object
hudson.model.AbstractDescribableImpl<jenkins.scm.api.SCMSource>
jenkins.scm.api.SCMSource
com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSource
All Implemented Interfaces:
ExtensionPoint, Describable<jenkins.scm.api.SCMSource>

public class BitbucketSCMSource extends jenkins.scm.api.SCMSource
SCM source implementation for Bitbucket. It provides a way to discover/retrieve branches and pull requests through the Bitbucket REST API which is much faster than the plain Git SCM source implementation.
  • Constructor Details

    • BitbucketSCMSource

      @DataBoundConstructor public BitbucketSCMSource(@NonNull String repoOwner, @NonNull String repository)
      Constructor.
      Parameters:
      repoOwner - the repository owner.
      repository - the repository name.
      Since:
      2.2.0
    • BitbucketSCMSource

      @Deprecated public BitbucketSCMSource(@CheckForNull String id, @NonNull String repoOwner, @NonNull String repository)
      Deprecated.
      use BitbucketSCMSource(String, String) and SCMSource.setId(String)
      Legacy Constructor.
      Parameters:
      id - the id.
      repoOwner - the repository owner.
      repository - the repository name.
  • Method Details

    • getCredentialsId

      @CheckForNull public String getCredentialsId()
    • setCredentialsId

      @DataBoundSetter public void setCredentialsId(@CheckForNull String credentialsId)
    • getMirrorId

      public String getMirrorId()
    • setMirrorId

      @DataBoundSetter public void setMirrorId(String mirrorId)
    • getRepoOwner

      @NonNull public String getRepoOwner()
    • getRepository

      @NonNull public String getRepository()
    • getServerUrl

      @NonNull public String getServerUrl()
    • setServerUrl

      @DataBoundSetter public void setServerUrl(@CheckForNull String serverUrl)
    • getEndpointJenkinsRootUrl

      @NonNull public String getEndpointJenkinsRootUrl()
    • getTraits

      @NonNull public List<jenkins.scm.api.trait.SCMSourceTrait> getTraits()
      Overrides:
      getTraits in class jenkins.scm.api.SCMSource
    • setTraits

      @DataBoundSetter public void setTraits(@CheckForNull List<jenkins.scm.api.trait.SCMSourceTrait> traits)
      Overrides:
      setTraits in class jenkins.scm.api.SCMSource
    • setBitbucketServerUrl

      @Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("2.2.0") @DataBoundSetter public void setBitbucketServerUrl(String url)
      Deprecated.
    • getBitbucketServerUrl

      @Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("2.2.0") @CheckForNull public String getBitbucketServerUrl()
      Deprecated.
    • getCheckoutCredentialsId

      @Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("2.2.0") @CheckForNull public String getCheckoutCredentialsId()
      Deprecated.
    • setCheckoutCredentialsId

      @Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("2.2.0") @DataBoundSetter public void setCheckoutCredentialsId(String checkoutCredentialsId)
      Deprecated.
    • getIncludes

      @Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("2.2.0") @NonNull public String getIncludes()
      Deprecated.
    • setIncludes

      @Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("2.2.0") @DataBoundSetter public void setIncludes(@NonNull String includes)
      Deprecated.
    • getExcludes

      @Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("2.2.0") @NonNull public String getExcludes()
      Deprecated.
    • setExcludes

      @Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("2.2.0") @DataBoundSetter public void setExcludes(@NonNull String excludes)
      Deprecated.
    • setAutoRegisterHook

      @Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("2.2.0") @DataBoundSetter public void setAutoRegisterHook(boolean autoRegisterHook)
      Deprecated.
    • isAutoRegisterHook

      @Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("2.2.0") public boolean isAutoRegisterHook()
      Deprecated.
    • getRepositoryType

      public BitbucketRepositoryType getRepositoryType() throws IOException, InterruptedException
      Throws:
      IOException
      InterruptedException
    • buildBitbucketClient

      public BitbucketApi buildBitbucketClient()
    • buildBitbucketClient

      public BitbucketApi buildBitbucketClient(PullRequestSCMHead head)
    • buildBitbucketClient

      public BitbucketApi buildBitbucketClient(String repoOwner, String repository)
    • afterSave

      public void afterSave()
      Overrides:
      afterSave in class jenkins.scm.api.SCMSource
    • retrieve

      protected void retrieve(@CheckForNull jenkins.scm.api.SCMSourceCriteria criteria, @NonNull jenkins.scm.api.SCMHeadObserver observer, @CheckForNull jenkins.scm.api.SCMHeadEvent<?> event, @NonNull TaskListener listener) throws IOException, InterruptedException
      Specified by:
      retrieve in class jenkins.scm.api.SCMSource
      Throws:
      IOException
      InterruptedException
    • retrieve

      protected jenkins.scm.api.SCMRevision retrieve(jenkins.scm.api.SCMHead head, TaskListener listener) throws IOException, InterruptedException
      Overrides:
      retrieve in class jenkins.scm.api.SCMSource
      Throws:
      IOException
      InterruptedException
    • build

      public SCM build(jenkins.scm.api.SCMHead head, jenkins.scm.api.SCMRevision revision)
      Specified by:
      build in class jenkins.scm.api.SCMSource
    • getTrustedRevision

      @NonNull public jenkins.scm.api.SCMRevision getTrustedRevision(@NonNull jenkins.scm.api.SCMRevision revision, @NonNull TaskListener listener) throws IOException, InterruptedException
      Overrides:
      getTrustedRevision in class jenkins.scm.api.SCMSource
      Throws:
      IOException
      InterruptedException
    • getDescriptor

      public BitbucketSCMSource.DescriptorImpl getDescriptor()
      Specified by:
      getDescriptor in interface Describable<jenkins.scm.api.SCMSource>
      Overrides:
      getDescriptor in class jenkins.scm.api.SCMSource
    • retrieveActions

      @NonNull protected List<Action> retrieveActions(@CheckForNull jenkins.scm.api.SCMSourceEvent event, @NonNull TaskListener listener) throws IOException, InterruptedException
      Overrides:
      retrieveActions in class jenkins.scm.api.SCMSource
      Throws:
      IOException
      InterruptedException
    • retrieveActions

      @NonNull protected List<Action> retrieveActions(@NonNull jenkins.scm.api.SCMHead head, @CheckForNull jenkins.scm.api.SCMHeadEvent event, @NonNull TaskListener listener) throws IOException, InterruptedException
      Overrides:
      retrieveActions in class jenkins.scm.api.SCMSource
      Throws:
      IOException
      InterruptedException
    • originOf

      @NonNull public jenkins.scm.api.SCMHeadOrigin originOf(@NonNull String repoOwner, @NonNull String repository)
    • getEventDelaySeconds

      public static int getEventDelaySeconds()
      Returns how long to delay events received from Bitbucket in order to allow the API caches to sync.
      Returns:
      how long to delay events received from Bitbucket in order to allow the API caches to sync.
    • setEventDelaySeconds

      @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) public static void setEventDelaySeconds(int eventDelaySeconds)
      Sets how long to delay events received from Bitbucket in order to allow the API caches to sync.
      Parameters:
      eventDelaySeconds - number of seconds to delay, will be restricted into a value within the range [0,300] inclusive
    • isCloud

      public boolean isCloud()