Package com.atlassian.jira.bc.config
Interface StatusService
- All Known Implementing Classes:
DefaultStatusService
@PublicApi
public interface StatusService
This class contains methods for managing
Status
es with validation- Since:
- v6.1
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Maximum length allowed for the name of a status. -
Method Summary
Modifier and TypeMethodDescriptioncreateStatus
(ApplicationUser user, String name, String description, String iconUrl, StatusCategory statusCategory) Validates and when validation is performed successfully creates new status basing on given parameterseditStatus
(ApplicationUser user, Status status, String name, String description, String iconUrl, StatusCategory statusCategory) Validates and when validation is performed successfully alters given status basing on given parametersfindStatuses
(ApplicationUser user, String substring, Set<Long> projectIds, Set<String> issueTypeIds) Returns statuses whose names start with or fully match given substring.getAssociatedWorkflows
(ApplicationUser user, Status status) Gets a list of workflows which contains given statusgetStatusById
(ApplicationUser user, String id) Get a status by id.boolean
Returns a boolean whether status lozenge is enabled or notmoveStatusDown
(ApplicationUser user, String id) Move a status down the order.moveStatusUp
(ApplicationUser user, String id) Move a status up the order.removeStatus
(ApplicationUser user, Status status) Removes a status.validateCreateStatus
(ApplicationUser user, String name, String description, String iconUrl, StatusCategory statusCategory) Validates new status basing on given parametersvalidateEditStatus
(ApplicationUser user, Status status, String name, String description, String iconUrl, StatusCategory statusCategory) Validates given status basing on given parametersvalidateRemoveStatus
(ApplicationUser user, Status status) Validates removal of given status
-
Field Details
-
MAX_STATUS_LENGTH
static final int MAX_STATUS_LENGTHMaximum length allowed for the name of a status.- See Also:
-
-
Method Details
-
createStatus
ServiceOutcome<Status> createStatus(ApplicationUser user, String name, String description, String iconUrl, StatusCategory statusCategory) Validates and when validation is performed successfully creates new status basing on given parameters- Parameters:
user
- User performing operationname
- Name of the status. Should neither be blank nor duplicate existing namedescription
- Optional description of the statusiconUrl
- URL of the icon for representing given status. May be relative or absolute. Cannot be nullstatusCategory
-StatusCategory
for given status. Cannot be null- Returns:
- The result of performed operation
- See Also:
-
validateCreateStatus
ServiceResult validateCreateStatus(ApplicationUser user, String name, String description, String iconUrl, StatusCategory statusCategory) Validates new status basing on given parameters- Parameters:
user
- User performing operationname
- Name of the status. Should neither be blank nor duplicate existing namedescription
- Optional description of the statusiconUrl
- URL of the icon for representing given status. May be relative or absolute. Cannot be nullstatusCategory
-StatusCategory
for given status. Cannot be null- Returns:
- The result of performed operation
-
editStatus
ServiceOutcome<Status> editStatus(ApplicationUser user, Status status, String name, String description, String iconUrl, StatusCategory statusCategory) Validates and when validation is performed successfully alters given status basing on given parameters- Parameters:
user
- User performing operationstatus
- The status to be editedname
- Name of the status. Should neither be blank nor duplicate existing namedescription
- Optional description of the statusiconUrl
- URL of the icon for representing given status. May be relative or absolute. Cannot be nullstatusCategory
-StatusCategory
for given status. Cannot be null- Returns:
- The result of performed operation
- See Also:
-
validateEditStatus
ServiceResult validateEditStatus(ApplicationUser user, Status status, String name, String description, String iconUrl, StatusCategory statusCategory) Validates given status basing on given parameters- Parameters:
user
- User performing operationstatus
- The status to be editedname
- Name of the status. Should neither be blank nor duplicate existing namedescription
- Optional description of the statusiconUrl
- URL of the icon for representing given status. May be relative or absolute. Cannot be nullstatusCategory
-StatusCategory
for given status. Cannot be null- Returns:
- The result of performed operation
-
getStatusById
Get a status by id.- Parameters:
user
- User performing operationid
- status id- Returns:
- the
Status
, or null if no status with this id exists.
-
removeStatus
Removes a status.- Parameters:
user
- User performing operationstatus
- Status- Returns:
- The result of performed operation
-
validateRemoveStatus
Validates removal of given status- Parameters:
user
- User performing operationstatus
- The Status- Returns:
-
getAssociatedWorkflows
Gets a list of workflows which contains given status- Parameters:
user
- User performing operationstatus
- The Status- Returns:
-
moveStatusUp
Move a status up the order.- Parameters:
user
- User performing operationid
- Status id- Returns:
-
moveStatusDown
Move a status down the order.- Parameters:
user
- User performing operationid
- Status id- Returns:
-
isStatusAsLozengeEnabled
boolean isStatusAsLozengeEnabled()Returns a boolean whether status lozenge is enabled or not- Returns:
- a boolean
-
findStatuses
@ExperimentalApi Stream<Status> findStatuses(ApplicationUser user, @Nonnull String substring, @Nonnull Set<Long> projectIds, @Nonnull Set<String> issueTypeIds) Returns statuses whose names start with or fully match given substring. If string is empty then skips filtering. Statuses that the calling user has no permissions to see are filtered out.- Parameters:
user
- User performing operation (or null if user is anonymous)substring
- The string that status names will be matched withprojectIds
- The set of project ids to filter statusesissueTypeIds
- The set of issue type ids to filter statuses- Since:
- 9.2
-