com.atlassian.jira.config.managedconfiguration.ManagedConfigurationItemService |
Known Indirect Subclasses |
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).
@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).
This provides an API for plugin developers and for JIRA internally to restrict the administration of certain configuration items. Often, a plugin developer will want to configure JIRA programmatically and rely on that configuration being unchanged. Using this API, the developer can register their desired items as "managed" or "locked" configuration items. This will prevent administrators from changing the configuration and invalidating the plugin's needs.
There are a few different states a ManagedConfigurationItem
can be in. These are determined by the properties
isManaged()
and getConfigurationItemAccessLevel()
:
isManaged() == true
- this item is being managed by JIRA or a plugingetConfigurationItemAccessLevel()
- if an item is managed, this property determines who can edit the
item. See ConfigurationItemAccessLevel
for more information.
For a list of which JIRA configuration items can be managed, see ManagedConfigurationItemType
.
Each configuration item can only have one ManagedConfigurationItem
describing it.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | SOURCE_PREFIX_PLUGIN | Denotes the prefix used in the getSourceId()
field when items are managed by a plugin. |
Denotes the prefix used in the getSourceId()
field when items are managed by a plugin.
Determine if the specified ApplicationUser
would have permission to edit the ManagedConfigurationItem
.
user | the user |
---|---|
item | the item |
Determine if the specified ApplicationUser
would have permission to edit an ManagedConfigurationItem
with the
specified level.
user | the user |
---|---|
configurationItemAccessLevel | the level |
Retrieves all of the ManagedConfigurationItem
s of the specified type which are currently "available"
(meaning their owner is currently available).
type | the type to retrieve |
---|
Given the CustomField
, attempt to retrieve the ManagedConfigurationItem
that describes it. If it
does not exist, a default implementation will be returned.
If the manager of this item is no longer available (e.g. if a plugin manages a JIRA custom field and the plugin is disabled) then the item can not be considered managed.
customField | the custom field |
---|
Given the JiraWorkflow
, attempt to retrieve the ManagedConfigurationItem
that describes it. If it
does not exist, a default implementation will be returned.
If the manager of this item is no longer available (e.g. if a plugin manages a workflow and the plugin is disabled) then the item can not be considered managed.
workflow | the workflow |
---|
Given the WorkflowScheme
, attempt to retrieve the ManagedConfigurationItem
that describes it. If it
does not exist, a default implementation will be returned.
If the manager of this item is no longer available (e.g. if a plugin manages a workflow scheme and the plugin is disabled) then the item can not be considered managed.
workflowScheme | the workflow scheme |
---|
Given the workflow scheme ID, attempt to retrieve the ManagedConfigurationItem
that describes it. If it
does not exist, a default implementation will be returned.
If the manager of this item is no longer available (e.g. if a plugin manages a workflow scheme and the plugin is disabled) then the item can not be considered managed.
schemeId | the workflow scheme ID |
---|
Remove the registration of this ManagedConfigurationItem
. If the item was not previously managed, an
error will be returned.
item | the item to stop managing |
---|
Update the registration of this ManagedConfigurationItem
. If the item was not previously managed, it
will now be managed.
item | the item to manage |
---|