com.atlassian.jira.bc.issue.IssueService |
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 is used to perform create, update, delete, and transition operations in JIRA with Issue
's. This services methods
will make sure that when dealing with Issue
's that all of JIRA's business rules are enforced. This means
that permissions and data validation will be checked, proper events will be fired, and notifications will be
triggered.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
IssueService.AssignValidationResult | A simple object that holds the information about validating an update issue operation. | ||||||||||
IssueService.CreateValidationResult | A simple object that holds the information about validating a create issue operation. | ||||||||||
IssueService.DeleteValidationResult | A simple object that holds the information about validating a delete issue operation. | ||||||||||
IssueService.IssueResult | A simple object that holds the information about an issue operation. | ||||||||||
IssueService.IssueValidationResult | A simple base object that holds the information about performing an issue operation. | ||||||||||
IssueService.TransitionValidationResult | A simple result object that holds the information required to make a successful issue transition. | ||||||||||
IssueService.UpdateValidationResult | A simple object that holds the information about validating an update issue operation. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
This method will store the provided issue to the JIRA datastore and will transition it through workflow.
| |||||||||||
This method will store the provided issue to the JIRA datastore.
| |||||||||||
This method will store the provided issue to the JIRA datastore.
| |||||||||||
This method will delete an issue from JIRA.
| |||||||||||
This method will delete an issue from JIRA.
| |||||||||||
This method will retrieve the issue with the provided issue id if the current user has permission to
view the issue.
| |||||||||||
This method will retrieve the issue with the provided issue id if the current user has permission to
view the issue.
| |||||||||||
Returns
true if the issue can be edited by the current user. | |||||||||||
Constructs a new IssueInputParameters object with initial values provided by the input Map.
| |||||||||||
Constructs a new IssueInputParameters object with no initial values.
| |||||||||||
This method will store the provided issue to the JIRA datastore and will transition it through workflow.
| |||||||||||
This method will store the provided issue to the JIRA datastore.
| |||||||||||
This method will store the provided issue to the JIRA datastore.
| |||||||||||
This method will check permissions to see if a user has the permission in relation to the provided issue, and
that the assignee is assignable.
| |||||||||||
This method will validate parameters and check permissions and if all checks pass it will create an
Issue
that can be passed to the create(User, CreateValidationResult)
method. | |||||||||||
This method will check permissions to see if a user has the
DELETE_ISSUE
permission in relation to the provided issue. | |||||||||||
This method does the same as
validateCreate(User, IssueInputParameters)
and it allows you to specify a parentId such that the created issue will be a subtask of the provided parent id. | |||||||||||
This method will validate parameters and check the transition conditions and if all checks pass it will construct a new
instance of the
Issue and will update it with the new parameters. | |||||||||||
This method will validate parameters and check the transition conditions and if all checks pass it will construct a new
instance of the
Issue and will update it with the new parameters. | |||||||||||
This method will validate parameters and check permissions and if all checks pass it will construct a new
instance of the
Issue and will update it with the new parameters. |
This method will store the provided issue to the JIRA datastore and will transition it through workflow. Use this method to perform the default behavior for updating and transitioning an issue in JIRA. The issue will be saved and re-indexed, the comment, if provided, will be added and the transition will be made.
This method will fire the event associated with the workflow transition, thus triggering any notifications that may need to be sent.user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
assignResult | contains the issue and assigneeId for the assignment.
The result must have isValid() return
true. If false this method will throw an IllegalStateException. |
This method will store the provided issue to the JIRA datastore. This method will only do so if the current
user has the create permission within the specified project. The issue will be created and indexed and placed
into the correct initial workflow step. All workflow post-functions associated with the workflows initial
action will be executed.
This method will fire the ISSUE_CREATED_ID
event, thus
triggering any notifications that may need to be sent.
user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
createValidationResult | contains the issue to store. This should have been created by one of the
validateCreate methods. The result must have isValid() return
true. If false this method will throw an IllegalStateException. |
Issue
if all went. If there was an error creating
the issue then the issue will be null and the error collection will contain details of what went wrong.
This method will store the provided issue to the JIRA datastore. This method will only do so if the current user has the create permission within the specified project. The issue will be created and indexed and placed into the correct initial workflow step. All workflow post-functions associated with the workflows initial action will be executed.
This method should only be used if you have a very complicated custom workflow where you have defined more than one initial action. In this case the auxilarySubmitButtonValue will indicate to the workflow manager which initial action should be executed. This method will fire theISSUE_CREATED_ID
event, thus
triggering any notifications that may need to be sent.user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
createValidationResult | contains the issue to store. This should have been created by one of the
validateCreate methods. The result must have isValid() return
true. If false this method will throw an IllegalStateException. |
initialWorkflowActionName | indicates which initial action to execute. |
Issue
if all went. If there was an error creating
the issue then the issue will be null and the error collection will contain details of what went wrong.
This method will delete an issue from JIRA. This will happen only if the current user has the
DELETE_ISSUE
permission. This will clean up all issue
associations in JIRA and will de-index the issue.
ISSUE_DELETED_ID
event and will
generate email notifications.user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
deleteValidationResult | contains the issue to delete, this should have been created via the
validateDelete(User, Long) method.
The result must have isValid() return
true. If false this method will throw an IllegalStateException. |
This method will delete an issue from JIRA. This will happen only if the current user has the
DELETE_ISSUE
permission. This will clean up all issue
associations in JIRA and will de-index the issue.
EventDispatchOption
. This method also allows you to specify if email
notifications should be send to notify users of the deletion.user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
deleteValidationResult | contains the issue to delete, this should have been created via the
validateDelete(User, Long) method.
The result must have isValid() return
true. If false this method will throw an IllegalStateException. |
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. |
This method will retrieve the issue with the provided issue id if the current user has permission to view the issue.
user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
issueId | the database ID of the issue. |
Issue
for the provided id if the user has the BROWSE
permission for the issue, the issue will be null if the issue does not exist or the user does not have permission.
The result also contains an error collection that will contain any error messages that may have been generated
when performing the operation.
This method will retrieve the issue with the provided issue id if the current user has permission to view the issue.
user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
issueKey | the key (e.g. TST-1) of the issue. |
Issue
for the provided id if the user has the BROWSE
permission for the issue, the issue will be null if the issue does not exist or the user does not have permission.
The result also contains an error collection that will contain any error messages that may have been generated
when performing the operation.
Returns 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 edit |
---|---|
user | the user who will be performing the edit |
true
if the user has permission and the issue is in an editable workflow step
Constructs a new IssueInputParameters object with initial values provided by the input Map.
This is often used to pass HTTP Parameters with Issue values eg:
issueService.newIssueInputParameters(ActionContext.getParameters())
IssueInputParameters is used as input to many of the methods in IssueService.
actionParameters | Parameters as received by a HTTP Request |
---|
Constructs a new IssueInputParameters object with no initial values.
IssueInputParameters is used as input to many of the methods in IssueService.
This method will store the provided issue to the JIRA datastore and will transition it through workflow. Use this method to perform the default behavior for updating and transitioning an issue in JIRA. The issue will be saved and re-indexed, the comment, if provided, will be added and the transition will be made.
This method will fire the event associated with the workflow transition, thus triggering any notifications that may need to be sent.user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
transitionResult | contains the issue to transition, with any updates that need to be persisted and
the action id which is the id of the workflow action that you would like to transition the issue through.
The result must have isValid() return
true. If false this method will throw an IllegalStateException. |
This method will store the provided issue to the JIRA datastore. Use this method to perform the default behavior for updating an issue in JIRA. This method will only update the issue if the current user has the edit permission within the specified project. The issue will be saved and re-indexed.
This method will fire theISSUE_UPDATED_ID
event, thus
triggering any notifications that may need to be sent.user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
updateValidationResult | that contains the issue to update, this should have been created via the
validateUpdate(User, Long, IssueInputParameters) method.
The result must have isValid() return
true. If false this method will throw an IllegalStateException. |
Issue
if all went. If there was an error updating
the issue then the issue will be null and the error collection will contain details of what went wrong.
This method will store the provided issue to the JIRA datastore. This method will only update the issue if the current user has the edit permission within the specified project. The issue will be saved and re-indexed.
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, seeEventDispatchOption
. This method also allows you to specify if email
notifications should be send to notify users of the update.user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
updateValidationResult | contains the issue to update, this should have been created via the
validateUpdate(User, Long, com.atlassian.jira.issue.IssueInputParameters) method.
The result must have isValid() return
true. If false this method will throw an IllegalStateException. |
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. |
Issue
if all went. If there was an error updating
the issue then the issue will be null and the error collection will contain details of what went wrong.
This method will check permissions to see if a user has the permission in relation to the provided issue, and that the assignee is assignable. If validation fails then an error will be added to the service contexts error collection.
user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
issueId | the unique identifier for the issue to update, this must be an issue that exists in JIRA with a valid project/issue type. |
assignee | is the id of the user to assign the issue to. |
MutableIssue
populated with the updated values and the error
collection that contains any validation errors that may have occurred. It also contains a populated FieldValuesHolder
that can be used by the fields to re-render the user inputted values.
This method will validate parameters and check permissions and if all checks pass it will create an Issue
that can be passed to the create(User, CreateValidationResult)
method.
user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
issueInputParameters | this represents the issue values we want to validate. It contains access to a raw map of "web" style input parameters. These parameters are used to allow the fields to attain the user inputted values. If you would like to specify some seed values for the field values holder that will be passed to the JIRA fields, then you should set your map on this input values. Also, if you want to specify which fields have been provided for user input, set the provided fields on this input, if not set this method will use the system defaults. Fields not in the provided fields collection will not be validated but they will have their defaults set. |
MutableIssue
if all validation
passes and the user has permission to create such an issue in the provided project, otherwise the issue will be null.
The result also contains an error collection that will contain any error messages that may have been generated
when performing the operation. It also contains a populated FieldValuesHolder that can be used by the fields
to re-render the user inputted values.
This method will check permissions to see if a user has the DELETE_ISSUE
permission in relation to the provided issue. If the current user does not have permission then an
error will be added to the service contexts error collection.
user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
issueId | the unique identifier of the issue to delete |
delete(User, com.atlassian.jira.bc.issue.IssueService.DeleteValidationResult)
method which
contains an MutableIssue
and the error
collection that contains any validation errors that may have occurred.
This method does the same as validateCreate(User, IssueInputParameters)
and it allows you to specify a parentId such that the created issue will be a subtask of the provided parent id.
user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
parentId | the id of the parent Issue for this subtask. |
issueInputParameters | this represents the issue values we want to validate. It contains access to a raw map of "web" style input parameters. These parameters are used to allow the fields to attain the user inputted values. If you would like to specify some seed values for the field values holder that will be passed to the JIRA fields, then you should set your map on this input values. Also, if you want to specify which fields have been provided for user input, set the provided fields on this input, if not set this method will use the system defaults. Fields not in the provided fields collection will not be validated but they will have their defaults set. |
MutableIssue
if all validation
passes and the user has permission to create such an issue in the provided project, otherwise the issue will be null.
The result also contains an error collection that will contain any error messages that may have been generated
when performing the operation. It also contains a populated FieldValuesHolder that can be used by the fields
to re-render the user inputted values.
This method will validate parameters and check the transition conditions and if all checks pass it will construct a new
instance of the Issue
and will update it with the new parameters. This object
can then be passed to the transition(User, TransitionValidationResult)
method.
user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
issueId | the unique identifier for the issue to update, this must be an issue that exists in JIRA with a valid project/issue type. |
actionId | is the id of the workflow action that you would like to transition the issue through. |
issueInputParameters | this represents the issue values we want to validate. It contains access to a raw map of "web" style input parameters. These parameters are used to allow the fields to attain the user inputted values. If you would like to specify some seed values for the field values holder that will be passed to the JIRA fields, then you should set your map on this input values. Also, if you want to specify which fields have been provided for user input, set the provided fields on this input, if not set this method will use the system defaults. Fields not in the provided fields collection will not be validated but they will have their defaults set. |
transitionOptions | holds whether you wish to skip conditions or validators for this API call. |
MutableIssue
populated with the
updated values and some additional parameters that are used when transitioning the issue through workflow and
the error collection that contains any validation errors that may have occurred. It also contains a populated FieldValuesHolder
that can be used by the fields to re-render the user inputted values.This method will validate parameters and check the transition conditions and if all checks pass it will construct a new
instance of the Issue
and will update it with the new parameters. This object
can then be passed to the transition(User, TransitionValidationResult)
method.
defaults()
.user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
issueId | the unique identifier for the issue to update, this must be an issue that exists in JIRA with a valid project/issue type. |
actionId | is the id of the workflow action that you would like to transition the issue through. |
issueInputParameters | this represents the issue values we want to validate. It contains access to a raw map of "web" style input parameters. These parameters are used to allow the fields to attain the user inputted values. If you would like to specify some seed values for the field values holder that will be passed to the JIRA fields, then you should set your map on this input values. Also, if you want to specify which fields have been provided for user input, set the provided fields on this input, if not set this method will use the system defaults. Fields not in the provided fields collection will not be validated but they will have their defaults set. |
MutableIssue
populated with the
updated values and some additional parameters that are used when transitioning the issue through workflow and
the error collection that contains any validation errors that may have occurred. It also contains a populated FieldValuesHolder
that can be used by the fields to re-render the user inputted values.
This method will validate parameters and check permissions and if all checks pass it will construct a new
instance of the Issue
and will update it with the new parameters.
This object can then be passed to the update(User, UpdateValidationResult)
method.
user | who the permission checks will be run against (can be null, indicating an anonymous user). |
---|---|
issueId | the unique identifer for the issue to update, this must be an issue that exists in JIRA with a valid project/issue type. |
issueInputParameters | this represents the issue values we want to validate. It contains access to a raw map of "web" style input parameters. These parameters are used to allow the fields to attain the user inputted values. If you would like to specify some seed values for the field values holder that will be passed to the JIRA fields, then you should set your map on this input values. Also, if you want to specify which fields have been provided for user input, set the provided fields on this input, if not set this method will use the system defaults. Fields not in the provided fields collection will not be validated but they will have their defaults set. |
update(User, UpdateValidationResult)
method which
contains an MutableIssue
populated with the updated values and the error
collection that contains any validation errors that may have occurred. It also contains a populated FieldValuesHolder
that can be used by the fields to re-render the user inputted values.