@PublicApi
public interface IssueManager
Modifier and Type | Method and Description |
---|---|
Issue |
archiveIssue(ApplicationUser user,
Issue issue,
EventDispatchOption eventDispatchOption,
boolean sendMail)
This method will archive the issue.
|
boolean |
atLeastOneIssueExists()
Return true if an issue exists.
|
org.ofbiz.core.entity.GenericValue |
createIssue(ApplicationUser remoteUser,
Issue issue)
Deprecated.
Use
#createIssueObject(User, Issue) instead. Since v5.0 |
org.ofbiz.core.entity.GenericValue |
createIssue(ApplicationUser remoteUser,
Map<String,Object> fields)
Deprecated.
Use
#createIssueObject(User, java.util.Map) instead. Since v5.0. |
org.ofbiz.core.entity.GenericValue |
createIssue(String remoteUserName,
Map<String,Object> fields)
Deprecated.
Use
createIssueObject(String, Map) instead since v5.0. |
Issue |
createIssueObject(ApplicationUser remoteUser,
Issue issue)
Creates an issue.
|
Issue |
createIssueObject(ApplicationUser remoteUser,
Map<String,Object> fields)
Creates an issue.
|
Issue |
createIssueObject(String remoteUserName,
Map<String,Object> fields)
Creates an issue.
|
void |
deleteIssue(ApplicationUser user,
Issue issue,
EventDispatchOption eventDispatchOption,
boolean sendMail)
This method will delete an issue from JIRA.
|
void |
deleteIssue(ApplicationUser user,
MutableIssue issue,
EventDispatchOption eventDispatchOption,
boolean sendMail)
Deprecated.
Use
#deleteIssue(com.atlassian.crowd.embedded.api.User, Issue, com.atlassian.jira.event.type.EventDispatchOption, boolean) instead. Since v5.0. |
void |
deleteIssueNoEvent(Issue issue)
Delete issue without firing any events, or sending notifications.
|
void |
deleteIssueNoEvent(MutableIssue issue)
Deprecated.
Use
deleteIssueNoEvent(com.atlassian.jira.issue.Issue) instead. Since v5.0. |
Issue |
findMovedIssue(String oldIssueKey)
Returns an issue that has been moved by searching on the old issue key.
|
Set<String> |
getAllIssueKeys(Long issueId)
Returns all issue keys that are associated with
Issue . |
List<org.ofbiz.core.entity.GenericValue> |
getEntitiesByIssue(String relationName,
org.ofbiz.core.entity.GenericValue issue)
Get a list of entities (versions, components etc) related to this issue.
|
List<org.ofbiz.core.entity.GenericValue> |
getEntitiesByIssueObject(String relationName,
Issue issue)
Get a list of entities (versions, components etc) related to this issue.
|
Set<Long> |
getIdsOfMissingIssues(Set<Long> issueIds)
Check existence of issues for the given set of IDs
|
org.ofbiz.core.entity.GenericValue |
getIssue(Long id)
Deprecated.
Use
getIssueObject(Long) instead. |
org.ofbiz.core.entity.GenericValue |
getIssue(String key)
Deprecated.
Use
getIssueObject(String) instead. |
MutableIssue |
getIssueByCurrentKey(String key)
Retrieves the
Issue that has the given key, or null if no such Issue exists. |
MutableIssue |
getIssueByKeyIgnoreCase(String key)
Retrieves the
Issue that has the given key, or null if no such Issue exists. |
org.ofbiz.core.entity.GenericValue |
getIssueByWorkflow(Long wfid)
Deprecated.
Use
getIssueObjectByWorkflow(Long) instead. Since v5.0 |
long |
getIssueCount()
Returns the number of issues.
|
long |
getIssueCountForProject(Long projectId)
Returns the number of issues that exist for the provided project id.
|
Collection<Long> |
getIssueIdsForProject(Long projectId)
Returns all issue ids for a particular project.
|
MutableIssue |
getIssueObject(Long id)
Retrieves an issue by id.
|
MutableIssue |
getIssueObject(String key)
Retrieves the
Issue that has the given key, or null if no such Issue exists. |
MutableIssue |
getIssueObjectByWorkflow(Long workflowId)
Retrieves an issue given a workflow ID.
|
List<Issue> |
getIssueObjects(Collection<Long> ids)
Get issues with the following ids.
|
List<Issue> |
getIssueObjectsByEntity(String relationName,
org.ofbiz.core.entity.GenericValue entity)
Deprecated.
Use
VersionManager.getIssueIdsWithAffectsVersion(com.atlassian.jira.project.version.Version) ,
VersionManager.getIssueIdsWithFixVersion(com.atlassian.jira.project.version.Version) , or
ProjectComponentManager.getIssueIdsWithComponent(com.atlassian.jira.bc.project.component.ProjectComponent) instead. Since v6.1. |
List<org.ofbiz.core.entity.GenericValue> |
getIssues(Collection<Long> ids)
Deprecated.
Use
getIssueObjects(java.util.Collection) instead. Since v5.0 |
List<org.ofbiz.core.entity.GenericValue> |
getIssuesByEntity(String relationName,
org.ofbiz.core.entity.GenericValue entity)
Deprecated.
Use
VersionManager.getIssueIdsWithAffectsVersion(com.atlassian.jira.project.version.Version) ,
VersionManager.getIssueIdsWithFixVersion(com.atlassian.jira.project.version.Version) , or
ProjectComponentManager.getIssueIdsWithComponent(com.atlassian.jira.bc.project.component.ProjectComponent) instead. Since v6.1. |
Set<String> |
getKeysOfMissingIssues(Set<String> issueKeys)
Check existence of issues for the given set of keys
|
List<org.ofbiz.core.entity.GenericValue> |
getProjectIssues(org.ofbiz.core.entity.GenericValue project)
Deprecated.
only used in test cases, should use a search provider instead.
|
Set<Pair<Long,String>> |
getProjectIssueTypePairsByIds(Set<Long> issueIds)
Returns a set of project ID / issue type combinations that given issue IDs cover.
|
Set<Pair<Long,String>> |
getProjectIssueTypePairsByKeys(Set<String> issueKeys)
Returns a set of project ID / issue type combinations that given issue keys cover.
|
long |
getUnassignedIssueCount()
Returns the number of unassigned issues.
|
List<Issue> |
getVotedIssues(ApplicationUser user)
Get a list of issues that the user has voted on and can see.
|
List<Issue> |
getVotedIssuesOverrideSecurity(ApplicationUser user)
Get a list of issues that the user has voted on.
|
List<Issue> |
getWatchedIssues(ApplicationUser user)
Get a list of issues that the user is watching and can see.
|
List<Issue> |
getWatchedIssuesOverrideSecurity(ApplicationUser user)
Get a list of issues that the user is watching
|
List<ApplicationUser> |
getWatchers(Issue issue)
Deprecated.
Use
getWatchersFor(Issue) instead. Since v6.0. |
List<ApplicationUser> |
getWatchersFor(Issue issue)
Return a list of watchers for a particular issue.
|
boolean |
hasUnassignedIssues()
Returns a boolean indicating whether there are unassigned issues.
|
boolean |
isEditable(Issue issue)
Returns
true if the issue can be edited. |
boolean |
isEditable(Issue issue,
ApplicationUser user)
Returns
true if the issue can be edited by the current user. |
boolean |
isEditable(Issue issue,
String nextStatusId)
Returns
true if the issue can be edited after action. |
boolean |
isExistingIssueKey(String issueKey)
Returns true if issue with a given key exists (it looks for issues having current issue key set for the value,
and moved issue keys that used the key).
|
void |
recordMovedIssueKey(Issue oldIssue)
Used internally when we want to record that an Issue has changed its Issue key (because it has moved project).
|
Issue |
restoreIssue(ApplicationUser user,
Issue issue,
EventDispatchOption eventDispatchOption,
boolean sendMail)
This method will restore an archived issue.
|
Issue |
updateIssue(ApplicationUser user,
MutableIssue issue,
EventDispatchOption eventDispatchOption,
boolean sendMail)
This method will store the provided issue to the JIRA datastore.
|
Issue |
updateIssue(ApplicationUser user,
MutableIssue issue,
UpdateIssueRequest updateIssueRequest)
This method will store the provided issue to the JIRA datastore.
|
@Deprecated org.ofbiz.core.entity.GenericValue getIssue(Long id) throws DataAccessException
getIssueObject(Long)
instead.id
- Issue ID.GenericValue
.DataAccessException
- if there is an error in the Data Access Layer.@Deprecated org.ofbiz.core.entity.GenericValue getIssue(String key) throws org.ofbiz.core.entity.GenericEntityException
getIssueObject(String)
instead.GenericValue
with the given key.key
- the issue key.GenericValue
.org.ofbiz.core.entity.GenericEntityException
- if there is a problem getting the data@Deprecated org.ofbiz.core.entity.GenericValue getIssueByWorkflow(Long wfid) throws org.ofbiz.core.entity.GenericEntityException
getIssueObjectByWorkflow(Long)
instead. Since v5.0GenericValue
given a workflow ID. This is used when transitioning
through the various steps of a workflow.wfid
- workflow ID.GenericValue
.org.ofbiz.core.entity.GenericEntityException
- An exception in the ofbiz Entity Engine.MutableIssue getIssueObjectByWorkflow(Long workflowId) throws org.ofbiz.core.entity.GenericEntityException
workflowId
- workflow ID.org.ofbiz.core.entity.GenericEntityException
- An exception in the ofbiz Entity Engine.@ExperimentalApi boolean isExistingIssueKey(String issueKey) throws org.ofbiz.core.entity.GenericEntityException
org.ofbiz.core.entity.GenericEntityException
MutableIssue getIssueObject(Long id) throws DataAccessException
id
- the idMutableIssue
DataAccessException
- if there is an error in the Data Access Layer.MutableIssue getIssueObject(String key) throws DataAccessException
Issue
that has the given key, or null if no such Issue exists.
This method will always return a new instance of an issue object if the issue exists.
key
- The Issue key.MutableIssue
with the given key, or null if no such Issue exists.DataAccessException
- if there is an error in the Data Access Layer.@ExperimentalApi MutableIssue getIssueByKeyIgnoreCase(String key) throws DataAccessException
Issue
that has the given key, or null if no such Issue exists.
This method will ignore case of issue key.
key
- The Issue key.MutableIssue
with the given key, or null if no such Issue exists.DataAccessException
- if there is an error in the Data Access Layer.@ExperimentalApi MutableIssue getIssueByCurrentKey(String key) throws DataAccessException
Issue
that has the given key, or null if no such Issue exists.
This method will strictly only return the issue which has current issue key equal to the one given.
key
- The Issue key.MutableIssue
with the given key, or null if no such Issue exists.DataAccessException
- if there is an error in the Data Access Layer.@Deprecated List<org.ofbiz.core.entity.GenericValue> getIssues(Collection<Long> ids)
getIssueObjects(java.util.Collection)
instead. Since v5.0ids
- Issue IDs.GenericValue
sList<Issue> getIssueObjects(Collection<Long> ids)
ids
- Issue IDs.MutableIssue
sList<Issue> getVotedIssues(ApplicationUser user)
user
- The user.Issue
objects the user has voted on.List<Issue> getVotedIssuesOverrideSecurity(ApplicationUser user)
user
- The user.Issue
objects the user has voted on.List<ApplicationUser> getWatchers(Issue issue)
getWatchersFor(Issue)
instead. Since v6.0.issue
- the IssueUser
s.List<ApplicationUser> getWatchersFor(Issue issue)
issue
- the IssueUser
s.List<Issue> getWatchedIssues(ApplicationUser user)
user
- the User.Issue
objectsList<Issue> getWatchedIssuesOverrideSecurity(ApplicationUser user)
user
- the User.Issue
objectsList<org.ofbiz.core.entity.GenericValue> getEntitiesByIssue(String relationName, org.ofbiz.core.entity.GenericValue issue) throws org.ofbiz.core.entity.GenericEntityException
relationName
- A IssueRelationConstants
string indicating some issue relationissue
- Issue to considerGenericValue
s associated with the issue.org.ofbiz.core.entity.GenericEntityException
- An exception in the ofbiz Entity Engine.List<org.ofbiz.core.entity.GenericValue> getEntitiesByIssueObject(String relationName, Issue issue) throws org.ofbiz.core.entity.GenericEntityException
relationName
- A IssueRelationConstants
string indicating some issue relationissue
- Issue to considerGenericValue
s associated with the issue.org.ofbiz.core.entity.GenericEntityException
- An exception in the ofbiz Entity Engine.List<org.ofbiz.core.entity.GenericValue> getIssuesByEntity(String relationName, org.ofbiz.core.entity.GenericValue entity) throws org.ofbiz.core.entity.GenericEntityException
VersionManager.getIssueIdsWithAffectsVersion(com.atlassian.jira.project.version.Version)
,
VersionManager.getIssueIdsWithFixVersion(com.atlassian.jira.project.version.Version)
, or
ProjectComponentManager.getIssueIdsWithComponent(com.atlassian.jira.bc.project.component.ProjectComponent)
instead. Since v6.1.relationName
- A IssueRelationConstants
string indicating some relation of entityentity
- The entity related to the issues we're afterGenericValue
s associated with an entity.org.ofbiz.core.entity.GenericEntityException
- An exception in the ofbiz Entity Engine.List<Issue> getIssueObjectsByEntity(String relationName, org.ofbiz.core.entity.GenericValue entity) throws org.ofbiz.core.entity.GenericEntityException
VersionManager.getIssueIdsWithAffectsVersion(com.atlassian.jira.project.version.Version)
,
VersionManager.getIssueIdsWithFixVersion(com.atlassian.jira.project.version.Version)
, or
ProjectComponentManager.getIssueIdsWithComponent(com.atlassian.jira.bc.project.component.ProjectComponent)
instead. Since v6.1.relationName
- A IssueRelationConstants
string indicating some relation of entityentity
- The entity related to the issues we're afterMutableIssue
s associated with an entity.org.ofbiz.core.entity.GenericEntityException
- if it failed to get the list of issues.Set<String> getAllIssueKeys(Long issueId)
Issue
.ChangeHistoryManager.getPreviousIssueKeys(Long)
@Deprecated org.ofbiz.core.entity.GenericValue createIssue(String remoteUserName, Map<String,Object> fields) throws CreateException
createIssueObject(String, Map)
instead since v5.0.remoteUserName
- Issue creatorfields
- A map of the issue's immediate field values. See the Issue definition in entitymodel.xml for values.CreateException
- If JIRA is unable to create the issue.Issue createIssueObject(String remoteUserName, Map<String,Object> fields) throws CreateException
remoteUserName
- Issue creatorfields
- A map of the issue's immediate field values. See the Issue definition in entitymodel.xml for values.CreateException
- If JIRA is unable to create the issue.IssueFieldsCharacterLimitExceededException
- when issue fields exceed the jira character limit@Deprecated org.ofbiz.core.entity.GenericValue createIssue(ApplicationUser remoteUser, Map<String,Object> fields) throws CreateException
#createIssueObject(User, java.util.Map)
instead. Since v5.0.remoteUser
- Issue creatorfields
- A map of the issue's immediate field values. See the Issue definition in entitymodel.xml for values.CreateException
- If JIRA is unable to create the issue.Issue createIssueObject(ApplicationUser remoteUser, Map<String,Object> fields) throws CreateException
remoteUser
- Issue creatorfields
- A map of the issue's immediate field values. See the Issue definition in entitymodel.xml for values.CreateException
- If JIRA is unable to create the issue.IssueFieldsCharacterLimitExceededException
- when issue fields exceed the jira character limit@Deprecated org.ofbiz.core.entity.GenericValue createIssue(ApplicationUser remoteUser, Issue issue) throws CreateException
#createIssueObject(User, Issue)
instead. Since v5.0remoteUser
- Issue creatorissue
- The new issue.CreateException
- If JIRA is unable to create the issue.Issue createIssueObject(ApplicationUser remoteUser, Issue issue) throws CreateException
remoteUser
- Issue creatorissue
- The new issue.CreateException
- If JIRA is unable to create the issue.IssueFieldsCharacterLimitExceededException
- when issue fields exceed the jira character limitIssue updateIssue(ApplicationUser user, MutableIssue issue, EventDispatchOption eventDispatchOption, boolean sendMail)
The issue will be saved and re-indexed unless EventDispatchOption.DO_NOT_DISPATCH
is specified.
This method performs no permission checks.
This method should be used if you want to exert more control over what happens when JIRA updates an issue. This
method will allow you to specify if an event is dispatched and if so which event is dispatched, see
EventDispatchOption
. This method also allows you to specify if email
notifications should be send to notify users of the update.
user
- who is performing the operationissue
- the issue to updateeventDispatchOption
- specifies if an event should be sent and if so which should be sent.sendMail
- if true mail notifications will be sent, otherwise mail notifications will be suppressed.IssueFieldsCharacterLimitExceededException
- when issue fields exceed the jira character limitIssue updateIssue(ApplicationUser user, MutableIssue issue, UpdateIssueRequest updateIssueRequest)
This method should be used if you want to exert more control over what happens when JIRA updates an issue.
user
- who is performing the operationissue
- the issue to updateupdateIssueRequest
- details about how to perform the update, including user context, event dispatch strategy
and history metadataIssueFieldsCharacterLimitExceededException
- when issue fields exceed the jira character limitUpdateIssueRequest
@ExperimentalApi Issue archiveIssue(ApplicationUser user, Issue issue, EventDispatchOption eventDispatchOption, boolean sendMail) throws ArchiveException
The issue will be marked as archived and removed from current index. This method performs archiving licence check and permission checks.
This method also allows you to specify if email notifications should be send to notify users of the update.
user
- who is performing the operationissue
- the issue to updateeventDispatchOption
- specifies if an event should be sent and if so which should be sent.sendMail
- if true mail notifications will be sent, otherwise mail notifications will be suppressed.ArchiveException
@ExperimentalApi Issue restoreIssue(ApplicationUser user, Issue issue, EventDispatchOption eventDispatchOption, boolean sendMail) throws ArchiveException
The issue will be moved back to index. This method performs archiving licence check and permission checks.
This method also allows you to specify if email notifications should be send to notify users of the update.
user
- who is performing the operationissue
- the issue to updateeventDispatchOption
- specifies if an event should be sent and if so which should be sent.sendMail
- if true mail notifications will be sent, otherwise mail notifications will be suppressed.ArchiveException
void deleteIssue(ApplicationUser user, Issue issue, EventDispatchOption eventDispatchOption, boolean sendMail) throws RemoveException
This will clean up all issue associations in JIRA and will de-index the issue.
This method should be used if you want to exert more control over what happens when JIRA deletes an issue. This
method will allow you to specify if an event is dispatched and if so which event is dispatched, see
EventDispatchOption
. This method also allows you to specify if email
notifications should be send to notify users of the deletion.
user
- who is performing the operationissue
- the issue to delete.eventDispatchOption
- specifies if an event should be sent and if so which should be sent.sendMail
- if true mail notifications will be sent, otherwise mail notifications will be suppressed.RemoveException
- throw if something goes horribly wrong when deleting the issue.@Deprecated void deleteIssue(ApplicationUser user, MutableIssue issue, EventDispatchOption eventDispatchOption, boolean sendMail) throws RemoveException
#deleteIssue(com.atlassian.crowd.embedded.api.User, Issue, com.atlassian.jira.event.type.EventDispatchOption, boolean)
instead. Since v5.0.
This method should be used if you want to exert more control over what happens when JIRA deletes an issue. This
method will allow you to specify if an event is dispatched and if so which event is dispatched, see
EventDispatchOption
. This method also allows you to specify if email
notifications should be send to notify users of the deletion.
user
- who is performing the operationissue
- the issue to delete.eventDispatchOption
- specifies if an event should be sent and if so which should be sent.sendMail
- if true mail notifications will be sent, otherwise mail notifications will be suppressed.RemoveException
- throw if something goes horribly wrong when deleting the issue.void deleteIssueNoEvent(Issue issue) throws RemoveException
This is preferred in some bulk operations, but normally you would call #deleteIssue(com.atlassian.crowd.embedded.api.User, Issue, com.atlassian.jira.event.type.EventDispatchOption, boolean)
issue
- issue to deleteRemoveException
- if the removal fails#deleteIssue(com.atlassian.crowd.embedded.api.User, com.atlassian.jira.issue.Issue, com.atlassian.jira.event.type.EventDispatchOption, boolean)
@Deprecated void deleteIssueNoEvent(MutableIssue issue) throws RemoveException
deleteIssueNoEvent(com.atlassian.jira.issue.Issue)
instead. Since v5.0.
This is preferred in some bulk operations, but normally you would call #deleteIssue(com.atlassian.crowd.embedded.api.User, MutableIssue, com.atlassian.jira.event.type.EventDispatchOption, boolean)
issue
- issue to deleteRemoveException
- if the removal fails#deleteIssue(com.atlassian.crowd.embedded.api.User, com.atlassian.jira.issue.MutableIssue, com.atlassian.jira.event.type.EventDispatchOption, boolean)
@Deprecated List<org.ofbiz.core.entity.GenericValue> getProjectIssues(org.ofbiz.core.entity.GenericValue project) throws org.ofbiz.core.entity.GenericEntityException
project
- the ProjectGenericValue
objectsorg.ofbiz.core.entity.GenericEntityException
- If there are errors in the persistence layer.boolean isEditable(Issue issue)
true
if the issue can be edited. This is determined by looking at the workflow step the issue is in.issue
- the Issue.true
if the issue can be edited. This is determined by looking at the workflow step the issue is in.@ExperimentalApi boolean isEditable(@Nonnull Issue issue, @Nonnull String nextStatusId)
true
if the issue can be edited after action. This is determined by looking at the workflow step the issue will be when action is completed.issue
- the Issue.nextStatusId
- the id of the status the issue will be in after transition
looking at the workflow status the issue will be in, after the action is completed.boolean isEditable(Issue issue, ApplicationUser user)
true
if the issue can be edited by the current user. This is determined by looking at both the
user's permissions and the workflow step the issue is in.issue
- the issue you want to edituser
- the user who will be performing the edittrue
if the user has permission and the issue is in an editable workflow stepCollection<Long> getIssueIdsForProject(Long projectId) throws org.ofbiz.core.entity.GenericEntityException
projectId
- Project ID.org.ofbiz.core.entity.GenericEntityException
- An exception in the ofbiz Entity Engine.long getIssueCountForProject(Long projectId)
projectId
- identifies the project which the issues are associated withboolean hasUnassignedIssues()
long getUnassignedIssueCount()
long getIssueCount()
boolean atLeastOneIssueExists()
@Internal Issue findMovedIssue(String oldIssueKey)
oldIssueKey
- the original key of an issue that has since been moved (moving between projects assigns a new
key to an issue)Issue
object@Internal void recordMovedIssueKey(Issue oldIssue)
oldIssue
- The issue with it's old issue key@Internal @Nonnull Set<Pair<Long,String>> getProjectIssueTypePairsByKeys(@Nonnull Set<String> issueKeys)
issueKeys
- Set of issue keys@Internal @Nonnull Set<Pair<Long,String>> getProjectIssueTypePairsByIds(@Nonnull Set<Long> issueIds)
issueIds
- Set of issue IDs@Internal @Nonnull Set<String> getKeysOfMissingIssues(@Nonnull Set<String> issueKeys)
issueKeys
- Set of issue keysCopyright © 2002-2022 Atlassian. All Rights Reserved.