public interface RepositorySupplier
repositories
by their ID
or
project
and slug
.
This is a simplification of the RepositoryService
, intended to be used in cases where a component needs to
be able to look up repositories but doesn't need the full service functionality. Using this interface instead makes
such components easier to test.
Plugin developers: Plugins cannot autowire their components when importing both RepositorySupplier
and
RepositoryService
. In general, if a plugin needs RepositoryService
methods, it should only
use the RepositoryService
. This interface should be used when a plugin only needs to retrieve repositories.
Modifier and Type | Method and Description |
---|---|
Repository |
getById(int id)
Retrieves a
Repository by its ID . |
Repository |
getBySlug(String projectKey,
String slug)
Retrieves a
Repository by its slug . |
Repository |
getBySlug(String projectNamespace,
String projectKey,
String slug)
Retrieves a
Repository by its slug . |
@Nullable Repository getById(int id)
Repository
by its ID
.id
- the repository's IDnull
if there is no repository with the specified IDAuthorisationException
- if the current user does not have permission to access the requested repository@Nullable Repository getBySlug(@Nonnull String projectKey, @Nonnull String slug)
Repository
by its slug
. Slugs are only unique within a given
Project
, so the project key
is also required.projectKey
- the key
of the project to search inslug
- the slug
of the repository to search fornull
if no matching repository is foundAuthorisationException
- if the current user does not have permission to access the requested repositoryRepositoryMovedException
- if the repository has been moved to a different project, the project key has
changed or the repository slug has changed@Nullable Repository getBySlug(@Nullable String projectNamespace, @Nonnull String projectKey, @Nonnull String slug)
Repository
by its slug
. Slugs are only unique within a given
Project
, so the project key
and project namespace
are required. Unless in mirror mode
the namespace
specified should always be null
.projectNamespace
- the namespace
of the project to search in, null
unless in mirror mode
projectKey
- the key
of the project to search inslug
- the slug
of the repository to search fornull
if no matching repository is foundAuthorisationException
- if the current user does not have permission to access the requested repositoryRepositoryMovedException
- if the repository has been moved to a different project, the project namespace
or key has changed or the repository slug has changedCopyright © 2020 Atlassian. All rights reserved.