@PublicApi public interface

LabelManager

com.atlassian.jira.issue.label.LabelManager
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 responsible for adding/removing and getting labels for a particular issue and custom field combination.

Summary

Public Methods
Label addLabel(ApplicationUser remoteUser, Long issueId, Long customFieldId, String label, boolean sendNotification)
Adds a label to the issue and customFieldId provided.
Label addLabel(ApplicationUser remoteUser, Long issueId, String label, boolean sendNotification)
Adds a label to the issue provided.
Set<Label> getLabels(Long issueId, Long customFieldId)
Returns all the labels for the given issue and custom field.
Set<Label> getLabels(Long issueId)
Returns all the labels for the given issue.
Set<String> getSuggestedLabels(ApplicationUser user, Long issueId, Long customFieldId, String token)
Returns a set of label suggestions sorted alphabetically for the label custom field provided.
Set<String> getSuggestedLabels(ApplicationUser user, Long issueId, String token)
Returns a set of label suggestions sorted alphabetically for the labels system field.
Set<Long> removeLabelsForCustomField(Long customFieldId)
This method deletes all label entries for the custom field provided.
Set<Label> setLabels(ApplicationUser remoteUser, Long issueId, Set<String> labels, boolean sendNotification, boolean causeChangeNotification)
Sets the labels for a particular issue to the set specified as a parameter.
Set<Label> setLabels(ApplicationUser remoteUser, Long issueId, Long customFieldId, Set<String> labels, boolean sendNotification, boolean causeChangeNotification)
Sets the labels for a particular issue and field combo to the set specified as a parameter.

Public Methods

public Label addLabel (ApplicationUser remoteUser, Long issueId, Long customFieldId, String label, boolean sendNotification)

Adds a label to the issue and customFieldId provided.

Parameters
remoteUser The user setting labels
issueId The issue id that the label is linked against
customFieldId The id of the custom field to add the label to
label The new label to add to the issue
sendNotification true if an e-mail should be sent to users notifying them of the issue update
Returns
  • The Label domain object which was created

public Label addLabel (ApplicationUser remoteUser, Long issueId, String label, boolean sendNotification)

Adds a label to the issue provided.

Parameters
remoteUser The user setting labels
issueId The issue id that the label is linked against
label The new label to add to the issue
sendNotification true if an e-mail should be sent to users notifying them of the issue update
Returns
  • The Label domain object which was created

public Set<Label> getLabels (Long issueId, Long customFieldId)

Returns all the labels for the given issue and custom field. The custom field may also be null, in which case the labels for the system field will be returned.

Parameters
issueId The issue id that the label is linked against
customFieldId Custom field id for the labels CF or null if it's the system field.
Returns
  • A set of alphabetically ordered labels for the issue and custom field.

public Set<Label> getLabels (Long issueId)

Returns all the labels for the given issue.

Parameters
issueId The issue id that the label is linked against
Returns
  • A set of alphabetically ordered labels for the issue.

public Set<String> getSuggestedLabels (ApplicationUser user, Long issueId, Long customFieldId, String token)

Returns a set of label suggestions sorted alphabetically for the label custom field provided. Suggestions will be narrowed down to the ones starting with the token provided and, if the issue is non-null, any labels the issue already has will be removed. If the token provided is null or empty, a set of labels sorted by popularity of the label will be returned.

Parameters
user The user retrieving suggestions for the labels custom field
issueId The issue for which suggestions should be generated or null
customFieldId The label custom field to generate suggestions for
token The search token entered by the user
Returns
  • A sorted set of labels in alphabetical order

public Set<String> getSuggestedLabels (ApplicationUser user, Long issueId, String token)

Returns a set of label suggestions sorted alphabetically for the labels system field. Suggestions will be narrowed down to the ones starting with the token provided and, if the issue is non-null, any labels the issue already has will be removed. If the token provided is null or empty, a set of labels sorted by popularity of the label will be returned.

Parameters
user The user retrieving suggestions for the labels system field
issueId The issue for which suggestions should be generated or null
token The search token entered by the user
Returns
  • A sorted set of labels in alphabetical order

public Set<Long> removeLabelsForCustomField (Long customFieldId)

This method deletes all label entries for the custom field provided. This is useful when deleting a customfield

Parameters
customFieldId the custom field for which to delete labels
Returns
  • a set of issue ids affected

public Set<Label> setLabels (ApplicationUser remoteUser, Long issueId, Set<String> labels, boolean sendNotification, boolean causeChangeNotification)

Sets the labels for a particular issue to the set specified as a parameter. The set may be an empty set in order to clear all labels for an issue.

Parameters
remoteUser The user setting labels
issueId The issue id that the label is linked against
labels the new labels for this issue
sendNotification true if an e-mail should be sent to users notifying them of the issue update
causeChangeNotification true if a change history should be created, false otherwise
Returns
  • a set of stored label objects in alphabetical order

public Set<Label> setLabels (ApplicationUser remoteUser, Long issueId, Long customFieldId, Set<String> labels, boolean sendNotification, boolean causeChangeNotification)

Sets the labels for a particular issue and field combo to the set specified as a parameter. The set may be an empty set in order to clear all labels for an issue.

Parameters
remoteUser The user setting labels
issueId The issue id that the label is linked against
customFieldId Custom field id for the labels CF or null if it's the system field.
labels the new labels for this issue and custom field combo
sendNotification true if an e-mail should be sent to users notifying them of the issue update
causeChangeNotification true if a change history should be created, false otherwise
Returns
  • a set of stored label objects in alphabetical order