@PublicApi public interface

ConstantsManager

com.atlassian.jira.config.ConstantsManager
Known Indirect Subclasses

@PublicApi

This interface is designed for plugins to consume (call its methods).

Clients of @PublicApi can expect that programs compiled against a given version will remain binary compatible with later versions of the @PublicApi as per each product's API policy as long as the client does not implement/extend @PublicApi interfaces or classes (refer to each product's API policy for the exact guarantee---usually binary compatibility is guaranteed at least across minor versions).

Note: since @PublicApi interfaces and classes are not designed to be implemented or extended by clients, we may perform certain types of binary-incompatible changes to these classes and interfaces, but these will not affect well-behaved clients that do not extend/implement these types (in general, only classes and interfaces annotated with @PublicSpi are safe to extend/implement).

Class Overview

Manager for issue types, statuses, priorities and resolutions. This manager is responsible for caching these constants as well as all the usual update, delete, add operations in the database.

Summary

Constants
String ALL_ISSUE_TYPES Used to retrieve all IssueTypes.
String ALL_STANDARD_ISSUE_TYPES Used to retrieve a standard IssueTypes.
String ALL_SUB_TASK_ISSUE_TYPES Used to retrieve a subtask IssueTypes.
String ISSUE_TYPE_CONSTANT_TYPE Used in the generic getConstantObject(String, String) method
String PRIORITY_CONSTANT_TYPE Used in the generic getConstantObject(String, String) method
String RESOLUTION_CONSTANT_TYPE Used in the generic getConstantObject(String, String) method
String STATUS_CONSTANT_TYPE Used in the generic getConstantObject(String, String) method
Public Methods
boolean constantExists(String constantType, String name)
Checks if a constant exists.
List<IssueConstant> convertToConstantObjects(String constantType, Collection ids)
Converts the list of ids to the objects of appropriate types
GenericValue createIssueType(String name, Long sequence, String style, String description, String iconurl)
This method is deprecated. Use insertIssueType(String, Long, String, String, String) instead. Since v5.0.
List<String> expandIssueTypeIds(Collection<String> issueTypeIds)
Converts the 'special' ids of issue types to a list of issue type ids For example, converts a special id to a list of all sub-task issue types Also see ALL_STANDARD_ISSUE_TYPES, ALL_SUB_TASK_ISSUE_TYPES and ALL_ISSUE_TYPES.
List<String> getAllIssueTypeIds()
Returns all issueType Ids.
Collection<IssueType> getAllIssueTypeObjects()
Returns a list of IssueTypes.
@Deprecated List<GenericValue> getAllIssueTypes()
This method is deprecated. Use getAllIssueTypeObjects() instead. Deprecated since v4.0
GenericValue getConstantByName(String constantType, String name)
This method is deprecated. Use getIssueConstantByName(String, String). Since v4.3
IssueConstant getConstantByNameIgnoreCase(String constantType, String name)
Returns a constant by name ignoring the case of the name passed in.
IssueConstant getConstantObject(String constantType, String id)
Returns an IssueConstant object for the given type & id.
Collection getConstantObjects(String constantType)
Returns all IssueConstant objects for the given type.
GenericValue getDefaultPriority()
This method is deprecated. Use getDefaultPriorityObject() instead. Since v4.0
Priority getDefaultPriorityObject()
Returns the default priority configured in JIRA.
List<GenericValue> getEditableSubTaskIssueTypes()
Retrieves an editable list of sub-task issues.
IssueConstant getIssueConstant(GenericValue issueConstantGV)
Converts a constant GenericValue to an IssueConstant object.
IssueConstant getIssueConstantByName(String constantType, String name)
Returns a constant by name.
@Deprecated GenericValue getIssueType(String id)
This method is deprecated. Use getIssueTypeObject(String) instead. Since 5.0
IssueType getIssueTypeObject(String id)
Given an IssueType ID this method retrieves that IssueType.
@Deprecated Collection<GenericValue> getIssueTypes()
This method is deprecated. Use getRegularIssueTypeObjects() instead.
@Deprecated Collection<GenericValue> getPriorities()
This method is deprecated. since 1.99. Use getPriorityObjects() instead
String getPriorityName(String id)
Returns the priority Name for a given priority ID.
Priority getPriorityObject(String id)
Given a priority ID, this method retrieves that priority.
Collection<Priority> getPriorityObjects()
Retrieve all Priorities in JIRA.
Collection<IssueType> getRegularIssueTypeObjects()
Retrieve regular (non-subtask) issue types.
@Deprecated GenericValue getResolution(String id)
This method is deprecated. Use getResolutionObject(String) instead.
Resolution getResolutionObject(String id)
Given a resolution ID, this method retrieves that resolution.
Collection<Resolution> getResolutionObjects()
Retrieve all Resolutions in JIRA.
@Deprecated Collection<GenericValue> getResolutions()
This method is deprecated. Use getResolutionObjects() instead.
@Deprecated GenericValue getStatus(String id)
This method is deprecated. Use getStatusObject(String) instead. Deprecated since v4.0
Status getStatusByName(String name)
Searches for a given status by name.
Status getStatusByNameIgnoreCase(String name)
Searches for a given status by name ignoring case.
Status getStatusByTranslatedName(String name)
Searches for a given status by its translated name.
Status getStatusObject(String id)
Returns a Status given an id.
Collection<Status> getStatusObjects()
Returns all statuses
@Deprecated Collection<GenericValue> getStatuses()
This method is deprecated. Use getStatusObjects() instead. Deprecated since v4.0
Collection<IssueType> getSubTaskIssueTypeObjects()
Retrieves all the sub-task issue types
@Deprecated Collection<GenericValue> getSubTaskIssueTypes()
This method is deprecated. Use getSubTaskIssueTypeObjects() instead. Deprecated since v4.0
IssueType insertIssueType(String name, Long sequence, String style, String description, Long avatarId)
Creates a new IssueType.
@Deprecated IssueType insertIssueType(String name, Long sequence, String style, String description, String iconurl)
This method is deprecated. Use insertIssueType(String, Long, String, String, Long) instead. Since v6.3.
void invalidate(IssueConstant issueConstant)
Clear the cache for this Issue Constant.
void invalidateAll()
Sets all cached copies of constant to null.
@Deprecated void refresh()
This method is deprecated. since v6.2. Use invalidateAll()
void refreshIssueTypes()
Reloads all IssueTypes from the DB.
void refreshPriorities()
Reloads all priorities from the DB.
void refreshResolutions()
Reloads all resolutions from the DB.
void refreshStatuses()
Reloads all statuses from DB.
void removeIssueType(String id)
Removes an existing issueType.
void storeIssueTypes(List<GenericValue> issueTypes)
Bulk operation to store a list of issueTypes.
void updateIssueType(String id, String name, Long sequence, String style, String description, Long avatarId)
Updates an existing issueType.
@Deprecated void updateIssueType(String id, String name, Long sequence, String style, String description, String iconurl)
This method is deprecated. use updateIssueType(String, String, Long, String, String, Long) since v6.3
void validateCreateIssueType(String name, String style, String description, String iconurl, ErrorCollection errors, String nameFieldName)
Validates creation of a new issuetype.
void validateCreateIssueTypeWithAvatar(String name, String style, String description, String avatarId, ErrorCollection errors, String nameFieldName)
Validates creation of a new issuetype.

Constants

public static final String ALL_ISSUE_TYPES

Used to retrieve all IssueTypes.

Constant Value: "-4"

public static final String ALL_STANDARD_ISSUE_TYPES

Used to retrieve a standard IssueTypes.

Constant Value: "-2"

public static final String ALL_SUB_TASK_ISSUE_TYPES

Used to retrieve a subtask IssueTypes.

Constant Value: "-3"

public static final String ISSUE_TYPE_CONSTANT_TYPE

Used in the generic getConstantObject(String, String) method

Constant Value: "IssueType"

public static final String PRIORITY_CONSTANT_TYPE

Used in the generic getConstantObject(String, String) method

Constant Value: "Priority"

public static final String RESOLUTION_CONSTANT_TYPE

Used in the generic getConstantObject(String, String) method

Constant Value: "Resolution"

public static final String STATUS_CONSTANT_TYPE

Used in the generic getConstantObject(String, String) method

Constant Value: "Status"

Public Methods

public boolean constantExists (String constantType, String name)

Checks if a constant exists.

Parameters
constantType See PRIORITY_CONSTANT_TYPE, STATUS_CONSTANT_TYPE, RESOLUTION_CONSTANT_TYPE, ISSUE_TYPE_CONSTANT_TYPE
name The name of the constant.
Returns
  • True if the constant exists. False otherwise

public List<IssueConstant> convertToConstantObjects (String constantType, Collection ids)

Converts the list of ids to the objects of appropriate types

Parameters
constantType the constant type. Case insenstive
ids list of constant ids or GenericValues
Returns
  • List of IssueConstant subclasses. Null if constantType is null or the ids are empty

public GenericValue createIssueType (String name, Long sequence, String style, String description, String iconurl)

This method is deprecated.
Use insertIssueType(String, Long, String, String, String) instead. Since v5.0.

Note this metod does not validate the input - i.e. It does not check for duplicate names etc. Use this method in conjunction with validateCreateIssueType(String, String, String, String, com.atlassian.jira.util.ErrorCollection, String)

Parameters
name Name of the new IssueType
sequence Sequence number used for ordering the issuetypes in the UI.
style Used to record the type of issue, such as SUBTASK. Null for regular issues.
description A short description of the new issue type.
iconurl A URL to an icon to be used for the new issueType.
Returns
  • The newly created IssueType
Throws
CreateException If there is an error creating this Issue Type.

public List<String> expandIssueTypeIds (Collection<String> issueTypeIds)

Converts the 'special' ids of issue types to a list of issue type ids For example, converts a special id to a list of all sub-task issue types Also see ALL_STANDARD_ISSUE_TYPES, ALL_SUB_TASK_ISSUE_TYPES and ALL_ISSUE_TYPES.

Parameters
issueTypeIds A collection of the issuetype Ids to retrieve.
Returns
  • A list of "actual" IssueType ID's expanded from the macro constants (or a new copy of the original list if it doesn't contain macros).

public List<String> getAllIssueTypeIds ()

Returns all issueType Ids.

Returns
  • A list of all the IssueType Ids.

public Collection<IssueType> getAllIssueTypeObjects ()

Returns a list of IssueTypes.

Returns

@Deprecated public List<GenericValue> getAllIssueTypes ()

This method is deprecated.
Use getAllIssueTypeObjects() instead. Deprecated since v4.0

Returns a list of IssueTypes.

Returns
  • A list of GenericValue issueTypes.

public GenericValue getConstantByName (String constantType, String name)

This method is deprecated.
Use getIssueConstantByName(String, String). Since v4.3

Returns a constant by name.

Parameters
constantType See PRIORITY_CONSTANT_TYPE, STATUS_CONSTANT_TYPE, RESOLUTION_CONSTANT_TYPE, ISSUE_TYPE_CONSTANT_TYPE
name The Name of the constant.
Returns
  • A constant GenericValue

public IssueConstant getConstantByNameIgnoreCase (String constantType, String name)

Returns a constant by name ignoring the case of the name passed in.

Parameters
constantType See PRIORITY_CONSTANT_TYPE, STATUS_CONSTANT_TYPE, RESOLUTION_CONSTANT_TYPE, ISSUE_TYPE_CONSTANT_TYPE
name The Name of the constant, case-insensitive.
Returns
  • An IssueConstant (or null if not found)

public IssueConstant getConstantObject (String constantType, String id)

Returns an IssueConstant object for the given type & id.

Parameters
constantType See PRIORITY_CONSTANT_TYPE, STATUS_CONSTANT_TYPE, RESOLUTION_CONSTANT_TYPE, ISSUE_TYPE_CONSTANT_TYPE
id The id of the constant.
Returns

public Collection getConstantObjects (String constantType)

Returns all IssueConstant objects for the given type.

Returns

public GenericValue getDefaultPriority ()

This method is deprecated.
Use getDefaultPriorityObject() instead. Since v4.0

Returns the default priority configured in JIRA.

Returns
  • The default priority GenericValue.

public Priority getDefaultPriorityObject ()

Returns the default priority configured in JIRA.

Returns
  • The default priority.

public List<GenericValue> getEditableSubTaskIssueTypes ()

Retrieves an editable list of sub-task issues.

Returns
  • A List of editable sub-task GenericValues

public IssueConstant getIssueConstant (GenericValue issueConstantGV)

Converts a constant GenericValue to an IssueConstant object.

Parameters
issueConstantGV the constant GenericValue.
Returns

public IssueConstant getIssueConstantByName (String constantType, String name)

Returns a constant by name.

Parameters
constantType See PRIORITY_CONSTANT_TYPE, STATUS_CONSTANT_TYPE, RESOLUTION_CONSTANT_TYPE, ISSUE_TYPE_CONSTANT_TYPE
name The Name of the constant.
Returns
  • The IssueConstant

@Deprecated public GenericValue getIssueType (String id)

This method is deprecated.
Use getIssueTypeObject(String) instead. Since 5.0

Given an IssueType ID this method retrieves that IssueType.

Parameters
id The ID of the IssueType.
Returns
  • An IssueType GenericValue

public IssueType getIssueTypeObject (String id)

Given an IssueType ID this method retrieves that IssueType.

Parameters
id The ID of the IssueType.
Returns

@Deprecated public Collection<GenericValue> getIssueTypes ()

This method is deprecated.
Use getRegularIssueTypeObjects() instead.

Retrieve regular (non-subtask) issue types.

Returns
  • A collection of IssueType GenericValues

@Deprecated public Collection<GenericValue> getPriorities ()

This method is deprecated.
since 1.99. Use getPriorityObjects() instead

Retrieve all Priorities in JIRA.

Returns
  • A list of Priority GenericValues.

public String getPriorityName (String id)

Returns the priority Name for a given priority ID.

Parameters
id The id of a priority
Returns
  • The name of the priority with the given ID, or an i18n'd String indicating that no priority is set (e.g. "None") if the ID is null.

public Priority getPriorityObject (String id)

Given a priority ID, this method retrieves that priority.

Parameters
id The id of the priority
Returns

public Collection<Priority> getPriorityObjects ()

Retrieve all Priorities in JIRA.

Returns

public Collection<IssueType> getRegularIssueTypeObjects ()

Retrieve regular (non-subtask) issue types.

Returns

@Deprecated public GenericValue getResolution (String id)

This method is deprecated.
Use getResolutionObject(String) instead.

Given a resolution ID, this method retrieves that resolution.

Parameters
id The id of the resolution
Returns
  • A resolution GenericValue

public Resolution getResolutionObject (String id)

Given a resolution ID, this method retrieves that resolution.

Parameters
id The id of the resolution
Returns

public Collection<Resolution> getResolutionObjects ()

Retrieve all Resolutions in JIRA.

Returns

@Deprecated public Collection<GenericValue> getResolutions ()

This method is deprecated.
Use getResolutionObjects() instead.

Retrieve all Resolutions in JIRA.

Returns
  • A List of Resolution GenericValues.

@Deprecated public GenericValue getStatus (String id)

This method is deprecated.
Use getStatusObject(String) instead. Deprecated since v4.0

Returns a Status given an id.

Parameters
id The id of a status
Returns
  • Returns a status GenericValue

public Status getStatusByName (String name)

Searches for a given status by name. This is not the most efficient implementation. If the name is not found, or the given name is null, then it returns null.

Parameters
name The name of the status.
Returns
  • A Status object with the given name, or null if none found.

public Status getStatusByNameIgnoreCase (String name)

Searches for a given status by name ignoring case. This is not the most efficient implementation. If the name is not found, or the given name is null, then it returns null.

Parameters
name The name of the status.
Returns
  • A Status object with the given name, or null if none found.

public Status getStatusByTranslatedName (String name)

Searches for a given status by its translated name. If no matching translated name is found the true (untranslated) name will be tried. If the name is not found, or the given name is null, then it returns null.

Parameters
name The name of the status.
Returns
  • A Status object with the given name, or null if none found.

public Status getStatusObject (String id)

Returns a Status given an id.

Parameters
id The id of a status
Returns

public Collection<Status> getStatusObjects ()

Returns all statuses

Returns
  • Returns a Collection of Status objects

@Deprecated public Collection<GenericValue> getStatuses ()

This method is deprecated.
Use getStatusObjects() instead. Deprecated since v4.0

Returns all statuses

Returns
  • Returns a Collection of status GenericValues.

public Collection<IssueType> getSubTaskIssueTypeObjects ()

Retrieves all the sub-task issue types

Returns

@Deprecated public Collection<GenericValue> getSubTaskIssueTypes ()

This method is deprecated.
Use getSubTaskIssueTypeObjects() instead. Deprecated since v4.0

Retrieves all the sub-task issue types. These will be non-modifiable. Use getEditableSubTaskIssueTypes() instead if you require an editable list.

Returns
  • A Collection of sub-task GenericValues.

public IssueType insertIssueType (String name, Long sequence, String style, String description, Long avatarId)

Creates a new IssueType.

Note this method does not validate the input - i.e. It does not check for duplicate names etc. Use this method in conjunction with validateCreateIssueType(String, String, String, String, com.atlassian.jira.util.ErrorCollection, String)

Parameters
name Name of the new IssueType
sequence Sequence number used for ordering the issuetypes in the UI.
style Used to record the type of issue, such as SUBTASK. Null for regular issues.
description A short description of the new issue type.
avatarId Avatar id,
Returns
  • The newly created IssueType
Throws
CreateException If there is an error creating this Issue Type.

@Deprecated public IssueType insertIssueType (String name, Long sequence, String style, String description, String iconurl)

This method is deprecated.
Use insertIssueType(String, Long, String, String, Long) instead. Since v6.3.

Creates a new IssueType.

Note this method does not validate the input - i.e. It does not check for duplicate names etc. Use this method in conjunction with validateCreateIssueType(String, String, String, String, com.atlassian.jira.util.ErrorCollection, String)

Parameters
name Name of the new IssueType
sequence Sequence number used for ordering the issuetypes in the UI.
style Used to record the type of issue, such as SUBTASK. Null for regular issues.
description A short description of the new issue type.
iconurl A URL to an icon to be used for the new issueType.
Returns
  • The newly created IssueType
Throws
CreateException If there is an error creating this Issue Type.

public void invalidate (IssueConstant issueConstant)

Clear the cache for this Issue Constant. Implementations may clear additional IssueConstants at their discretion.

public void invalidateAll ()

Sets all cached copies of constant to null. This will cause them to be re-loaded from the DB the next time they are accessed.

@Deprecated public void refresh ()

This method is deprecated.
since v6.2. Use invalidateAll()

Sets all cached copies of constant to null. This will cause them to be re-loaded from the DB the next time they are accessed.

public void refreshIssueTypes ()

Reloads all IssueTypes from the DB.

public void refreshPriorities ()

Reloads all priorities from the DB.

public void refreshResolutions ()

Reloads all resolutions from the DB.

public void refreshStatuses ()

Reloads all statuses from DB.

public void removeIssueType (String id)

Removes an existing issueType. This will cause a invalidate of all issue types (i.e. reload from the DB).

Parameters
id ID of an existing issueType
Throws
RemoveException if the issueType with id doesn't exist, or an error occured removing the issue.

public void storeIssueTypes (List<GenericValue> issueTypes)

Bulk operation to store a list of issueTypes.

Parameters
issueTypes A list of IssueType GenericValues
Throws
DataAccessException indicates an error in the Data Access Layer

public void updateIssueType (String id, String name, Long sequence, String style, String description, Long avatarId)

Updates an existing issueType. This will cause a invalidate of all issue types (i.e. reload from the DB).

Parameters
id ID of the existing issuetype.
name Name of the new IssueType
sequence Sequence number used for ordering the issuetypes in the UI.
style Used to record the type of issue, such as SUBTASK. Null for regular issues.
description A short description of the new issue type.
avatarId avatarid of new issueType.
Throws
DataAccessException indicates an error in the Data Access Layer

@Deprecated public void updateIssueType (String id, String name, Long sequence, String style, String description, String iconurl)

This method is deprecated.
use updateIssueType(String, String, Long, String, String, Long) since v6.3

Updates an existing issueType. This will cause a invalidate of all issue types (i.e. reload from the DB).

Parameters
id ID of the existing issuetype.
name Name of the new IssueType
sequence Sequence number used for ordering the issuetypes in the UI.
style Used to record the type of issue, such as SUBTASK. Null for regular issues.
description A short description of the new issue type.
iconurl A URL to an icon to be used for the new issueType.
Throws
DataAccessException indicates an error in the Data Access Layer

public void validateCreateIssueType (String name, String style, String description, String iconurl, ErrorCollection errors, String nameFieldName)

Validates creation of a new issuetype. In particular, this function checks that a name has been submitted, no other issueTypes with the same name exist, and that the icon URL exists.

Parameters
name Name of the new IssueType
style Used to record the type of issue, such as SUBTASK. Null for regular issues.
description A short description of the new issue type.
iconurl A URL to an icon to be used for the new issueType.
errors A collection of errors used to pass back any problems.
nameFieldName The field to which the errors should be added.

public void validateCreateIssueTypeWithAvatar (String name, String style, String description, String avatarId, ErrorCollection errors, String nameFieldName)

Validates creation of a new issuetype. In particular, this function checks that a name has been submitted, no other issueTypes with the same name exist and correct avatarId is passed.

Parameters
name Name of the new IssueType
style Used to record the type of issue, such as SUBTASK. Null for regular issues.
description A short description of the new issue type.
avatarId An avatar id.
errors A collection of errors used to pass back any problems.
nameFieldName The field to which the errors should be added.