Interface RepositorySupplier
- All Known Subinterfaces:
RepositoryService
public interface RepositorySupplier
Allows retrieving
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.
-
Method Summary
Modifier and TypeMethodDescriptiongetById
(int id) Retrieves aRepository
by itsID
.Retrieves aRepository
by itsslug
.
-
Method Details
-
getById
Retrieves aRepository
by itsID
.- Parameters:
id
- the repository's ID- Returns:
- the request repository, or
null
if there is no repository with the specified ID - Throws:
AuthorisationException
- if the current user does not have permission to access the requested repository
-
getBySlug
Retrieves aRepository
by itsslug
. Slugs are only unique within a givenProject
, so theproject key
is also required.- Parameters:
projectKey
- thekey
of the project to search inslug
- theslug
of the repository to search for- Returns:
- the repository, or
null
if no matching repository is found - Throws:
AuthorisationException
- 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
-