Class 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 Detail

      • 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 Detail

      • 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.
      • buildBitbucketClient

        public BitbucketApi buildBitbucketClient()
      • 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
      • build

        public SCM build​(jenkins.scm.api.SCMHead head,
                         jenkins.scm.api.SCMRevision revision)
        Specified by:
        build in class jenkins.scm.api.SCMSource
      • 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()