Class BitbucketServerTagsHandler

java.lang.Object
com.atlassian.bamboo.plugins.stash.v2.AbstractBitbucketServerExecutor
com.atlassian.bamboo.plugins.stash.v2.BitbucketServerTagsHandler
All Implemented Interfaces:
IdentifyingExecutor<VcsTagsHandler>, VcsTagsHandler

public class BitbucketServerTagsHandler extends AbstractBitbucketServerExecutor implements VcsTagsHandler
  • Constructor Details

    • BitbucketServerTagsHandler

      public BitbucketServerTagsHandler()
  • Method Details

    • getAllTagsFromRepository

      public List<TagAndRevision> getAllTagsFromRepository(@NotNull @NotNull VcsRepositoryData vcsRepositoryData) throws RepositoryException
      Description copied from interface: VcsTagsHandler
      Reads from git repository all tags (with revisions).
      Specified by:
      getAllTagsFromRepository in interface VcsTagsHandler
      Returns:
      list of tags with revision
      Throws:
      RepositoryException
    • isBranchContainTag

      public boolean isBranchContainTag(VcsRepositoryData vcsRepositoryData, String branchName, TagAndRevision tagAndRevision) throws RepositoryException
      Specified by:
      isBranchContainTag in interface VcsTagsHandler
      Throws:
      RepositoryException
    • getVcsIdForExecutor

      @Nullable public @Nullable ContextualVcsId<VcsTagsHandler> getVcsIdForExecutor(@NotNull @NotNull VcsRepositoryData vcsRepositoryData)
      Description copied from interface: IdentifyingExecutor
      Returned id has to fulfill the following: Given two VcsRepositoryData objects A and B, and executor e returning equal ContextualVcsId (in terms of equals()), for any operation foo() provided by the executor, the calls e::foo(A) and e::foo(B) should be equivalent. To be more precise: given any time point t and any variable context v, calling a::foo(A) should yield the same results as calling e::foo(B). Given the above it follows that - calculation of the id should take into account global and plan variables. This means, that calling this method on the same object in different variable context can (possibly must) yield different results. - equal ids need not (and should not) guarantee equal call results over indefinite time. In particular, result of e:foo(A).equals(e::foo(A)) is allowed to be false, since 2 calls to e::foo(A) do not happen at the same time. Example: 2 git repositories with the same url and credentials are considered equal in context of VcsBranchDetector. If they also point to the same branch, they are considered equal in context of VcsChangeDetector
      Specified by:
      getVcsIdForExecutor in interface IdentifyingExecutor<VcsTagsHandler>
      Returns:
      the id of repository, can be null if no feasible identification algorithm exists