public interface RefService
Modifier and Type | Method and Description |
---|---|
Branch |
createBranch(CreateBranchRequest request)
Create branch with the information provided in the
request . |
Tag |
createTag(CreateTagRequest request)
Create tag with the information provided in the
request . |
Page<Branch> |
getBranches(RepositoryBranchesRequest request,
PageRequest pageRequest)
Retrieves a paged list of
branches for the specified repository, optionally filtered by the
provided starting text. |
Branch |
getDefaultBranch(Repository repository)
Retrieves the default branch for the specified repository.
|
Map<Ref,MetadataMap> |
getMetadataByRefs(RefMetadataRequest request)
Retrieves the associated metadata based on a given collection of refs in a repository.
|
Page<Tag> |
getTags(RepositoryTagsRequest request,
PageRequest pageRequest)
Retrieves a paged list of
tags for the specified repository, optionally filtered by the provided
starting text. |
Ref |
resolveRef(ResolveRefRequest request)
|
Map<String,Ref> |
resolveRefs(ResolveRefsRequest request)
Attempts to resolve multiple refs at once, returning a map with the successfully resolved IDs linked
to their resolved
refs . |
void |
setDefaultBranch(Repository repository,
String branchName)
Sets the default branch for the specified repository.
|
void |
streamBranches(RepositoryBranchesRequest request,
BranchCallback callback)
Streams
branches to a callback class, for the specified repository, and where the branches match
the request. |
void |
streamTags(RepositoryTagsRequest request,
TagCallback callback)
Streams
tags to a callback class, for the specified repository, and where the tags match the request. |
@Nonnull Branch createBranch(@Nonnull CreateBranchRequest request)
request
.request
- the branch creation requestRepositoryHookVetoedException
- if branch creation was canceled by one or more repository-hooks
@Nonnull Tag createTag(@Nonnull CreateTagRequest request)
request
.request
- the tag creation requestRepositoryHookVetoedException
- if tag creation was canceled by one or more repository-hooks
@Nonnull Page<Branch> getBranches(@Nonnull RepositoryBranchesRequest request, @Nonnull PageRequest pageRequest)
branches
for the specified repository, optionally filtered by the
provided starting text.request
- request parameters for this query, including repository, filter text and orderingpageRequest
- the page request defining the page start and limit@Nonnull Branch getDefaultBranch(@Nonnull Repository repository) throws NoDefaultBranchException
If the repository is newly created and no commits have been pushed to it, its default branch will not yet
exist. As a result, for new repositories, this method can throw NoDefaultBranchException
. If you
want to know what the configured default branch is, regardless of whether the ref actually exists, use
RepositoryService.getDefaultBranch(Repository)
instead.
repository
- the repository to retrieve the default branch forNoDefaultBranchException
- when no default branch is configured for the repositoryRepositoryService.getDefaultBranch(Repository)
@Nonnull Map<Ref,MetadataMap> getMetadataByRefs(@Nonnull RefMetadataRequest request)
request
- request parameters for this query, including repository and refs to find metadata forRef
@Nonnull Page<Tag> getTags(@Nonnull RepositoryTagsRequest request, @Nonnull PageRequest pageRequest)
tags
for the specified repository, optionally filtered by the provided
starting text.request
- request parameters for this query, including repository, filter text and orderingpageRequest
- the page request defining the page start and limit@Nullable Ref resolveRef(@Nonnull ResolveRefRequest request)
Ref
from the provided refId
. Specifically,
the object is resolved as either a Branch
or Tag
. If the provided refId
references
something else, such as a commit hash, tree or blob, null
is returned.
If the ID is expected to match a ref of a specific type
, the request may be explicitly limited
to that type
.
The exact behavior of this method may vary between SCMs. For example, when provided with a commit hash, the
SCM implementor may choose to return a Branch
or Tag
which references that commit, instead of
returning null
.
@Nonnull Map<String,Ref> resolveRefs(@Nonnull ResolveRefsRequest request)
refs
.
If an ID is expected to match a branch
or
tag
, it should be included in the relevant set. IDs for which the type
is not known in advance should be included in the generic ref set
.
The exact behavior of this method may vary between SCMs. For example, when provided with a commit hash, the
SCM implementor may choose to resolve it to a Branch
or Tag
which references that commit, or
they may choose to always omit it from the returned map.
request
- describes the branch, tag and unspecified ref IDs to resolve, and the repository to resolve
them innull
void setDefaultBranch(@Nonnull Repository repository, @Nonnull String branchName)
repository
- the repository to update the default branch forbranchName
- the branch to mark as the default within the repositoryFeatureUnsupportedScmException
- if the SCM for the specified repository does not
support updating the default branchvoid streamBranches(@Nonnull RepositoryBranchesRequest request, @Nonnull BranchCallback callback)
branches
to a callback class, for the specified repository, and where the branches match
the request.request
- request parameters for this query, including repository, filter text and orderingcallback
- a callback to receive the branches
void streamTags(@Nonnull RepositoryTagsRequest request, @Nonnull TagCallback callback)
tags
to a callback class, for the specified repository, and where the tags match the request.request
- request parameters for this query, including repository, filter text and orderingcallback
- a callback to receive the tags
Copyright © 2022 Atlassian. All rights reserved.