com.atlassian.jira.issue
Interface IssueInputParameters

All Known Implementing Classes:
IssueInputParametersImpl

@PublicApi
public interface IssueInputParameters

This represents an issue builder and can be used to provide parameters that can be used to create and update an issue through the IssueService.

Any fields that are set on this object will have the values used for validation and population of the issue object created via the validate methods on the IssueService. This object is forgiving as possible so if you try to set a null value for a field no exceptions will be thrown, the value will just be ignored.

Some users might want to provide a FieldValuesHolder to the validation calls with some pre-populated data, if this is the case then you can set the field values holder on this object and the IssueService will clone the contents and pass them along to any field invocations it might make.

If you wish to indicate to the IssueService that you do not want to validate against all fields configured for the create screen then you can set the setProvidedFields(java.util.Collection) with the field id's that you want to have validated. All other fields that exist on the screen will be populated with the system default.

To construct a new IssueInputParameters object you can call IssueService.newIssueInputParameters().

NOTE: this object is not thread-safe and is only meant to be used as a transport object.

Since:
v4.1
See Also:
IssueService.newIssueInputParameters(), IssueService.newIssueInputParameters(java.util.Map)

Method Summary
 IssueInputParameters addCustomFieldValue(Long customFieldId, String... values)
          Adds a value for a custom field with the specified id.
 IssueInputParameters addCustomFieldValue(String fullCustomFieldKey, String... values)
          Adds a value for a custom field with the specified full key.
 boolean applyDefaultValuesWhenParameterNotProvided()
           
 Map<String,String[]> getActionParameters()
          This provides the "web-style" parameters that JIRA fields expect to perform their functions.
 Long[] getAffectedVersionIds()
           
 String getAssigneeId()
           
 String getCommentValue()
           
 Long[] getComponentIds()
           
 String[] getCustomFieldValue(Long customFieldId)
           
 String[] getCustomFieldValue(String fullCustomFieldKey)
           
 String getDescription()
           
 String getDueDate()
           
 String getEnvironment()
           
 Map<String,Object> getFieldValuesHolder()
           
 Long[] getFixVersionIds()
           
 String getIssueTypeId()
           
 Long getOriginalEstimate()
          Gets the original estimate set.
 String getOriginalEstimateAsDurationString()
          Gets the original estimate set.
 String getPriorityId()
           
 Long getProjectId()
           
 Collection<String> getProvidedFields()
           
 Long getRemainingEstimate()
          Gets the remaining estimate set.
 String getRemainingEstimateAsDurationString()
          Gets the remaining estimate provided If (APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set, we are in legacy time tracking mode and this will return the same as getOriginalEstimateAsDurationString().
 String getReporterId()
           
 String getResolutionDate()
           
 String getResolutionId()
           
 Long getSecurityLevelId()
           
 String getStatusId()
           
 String getSummary()
           
 Long getTimeSpent()
           
 boolean isFieldPresent(String fieldId)
           
 boolean isFieldSet(String fieldId)
           
 boolean retainExistingValuesWhenParameterNotProvided()
           
 IssueInputParameters setAffectedVersionIds(Long... affectedVersionIds)
           
 void setApplyDefaultValuesWhenParameterNotProvided(boolean applyDefaults)
           
 IssueInputParameters setAssigneeId(String assigneeId)
           
 IssueInputParameters setComment(String comment)
          Set a comment value with no visibility restrictions.
 IssueInputParameters setComment(String comment, Long projectRoleId)
          Set a comment value with a project role restriction.
 IssueInputParameters setComment(String comment, String groupId)
          Set a comment value with a group restriction.
 IssueInputParameters setComponentIds(Long... componentIds)
           
 IssueInputParameters setDescription(String description)
           
 IssueInputParameters setDueDate(String dueDate)
           
 IssueInputParameters setEnvironment(String environment)
           
 void setFieldValuesHolder(Map<String,Object> fieldValuesHolder)
          If set the validation will use the seed values from this field values holder.
 IssueInputParameters setFixVersionIds(Long... fixVersionIds)
           
 IssueInputParameters setIssueTypeId(String issueTypeId)
           
 IssueInputParameters setOriginalAndRemainingEstimate(Long originalEstimate, Long remainingEstimate)
          Sets both the original and remaining estimate on the issue.
 IssueInputParameters setOriginalAndRemainingEstimate(String originalEstimate, String remainingEstimate)
          Sets both the original and remaining estimate on the issue.
 IssueInputParameters setOriginalEstimate(Long originalEstimate)
          Sets the original estimate on the issue.
 IssueInputParameters setOriginalEstimate(String originalEstimate)
          Sets the original estimate on the issue.
 IssueInputParameters setPriorityId(String priorityId)
           
 IssueInputParameters setProjectId(Long projectId)
           
 void setProvidedFields(Collection<String> providedFields)
          Use this to indicate which fields validation should be performed on, if left alone then the systems configured fields for either create/update will be used.
 IssueInputParameters setRemainingEstimate(Long remainingEstimate)
          Sets the remaining estimate on the issue If (APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set, we are in legacy time tracking mode and this method behaves differently.
 IssueInputParameters setRemainingEstimate(String remainingEstimate)
          Sets the remaining estimate on the issue If (APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set, we are in legacy time tracking mode and this method behaves differently.
 IssueInputParameters setReporterId(String reporterId)
           
 IssueInputParameters setResolutionDate(String resolutionDate)
           
 IssueInputParameters setResolutionId(String resolutionId)
           
 void setRetainExistingValuesWhenParameterNotProvided(boolean retain)
           
 IssueInputParameters setSecurityLevelId(Long securityLevelId)
           
 void setSkipScreenCheck(boolean skipScreenCheck)
          Set the flag to skip screen checks during update.
 IssueInputParameters setStatusId(String statusId)
           
 IssueInputParameters setSummary(String summary)
           
 IssueInputParameters setTimeSpent(Long timeSpent)
           
 boolean skipScreenCheck()
          Get the flag to skip screen checks during update.
 

Method Detail

retainExistingValuesWhenParameterNotProvided

boolean retainExistingValuesWhenParameterNotProvided()
Returns:
true if the issues value should be retained when a parameter has not been provided, false if the missing parameter should be treated as an update.

setRetainExistingValuesWhenParameterNotProvided

void setRetainExistingValuesWhenParameterNotProvided(boolean retain)
Parameters:
retain - true if non-provided parameters should have the values retained, false otherwise.
See Also:
retainExistingValuesWhenParameterNotProvided()

applyDefaultValuesWhenParameterNotProvided

boolean applyDefaultValuesWhenParameterNotProvided()
Returns:
true if default value should be supplied when a parameter has not been provided. false if the default value should not be applied.

setApplyDefaultValuesWhenParameterNotProvided

void setApplyDefaultValuesWhenParameterNotProvided(boolean applyDefaults)
Parameters:
applyDefaults - true if default value should be supplied when a parameter has not been provided. false if the default value should not be applied.

skipScreenCheck

boolean skipScreenCheck()
Get the flag to skip screen checks during update.

By default, the Issue Service only allows updates to fields which appear on the screen of the operation which you are performing (e.g. the Edit screen). By enabling this flag, the Issue Service will skip this check.

Returns:
whether or not we are skipping screen check
Since:
v5.0.x
See Also:
IssueService.validateUpdate(com.atlassian.crowd.embedded.api.User, Long, IssueInputParameters)

setSkipScreenCheck

void setSkipScreenCheck(boolean skipScreenCheck)
Set the flag to skip screen checks during update.

By default, the Issue Service only allows updates to fields which appear on the screen of the operation which you are performing (e.g. the Edit screen). By enabling this flag, the Issue Service will skip this check.

Parameters:
skipScreenCheck - whether or not we are skipping screen check
Since:
v5.0.x
See Also:
IssueService.validateUpdate(com.atlassian.crowd.embedded.api.User, Long, IssueInputParameters)

getCustomFieldValue

String[] getCustomFieldValue(Long customFieldId)
Parameters:
customFieldId - uniquely identifies the custom field value you are looking for.
Returns:
the values for the provided custom field if they exist, null otherwise.

getCustomFieldValue

String[] getCustomFieldValue(String fullCustomFieldKey)
Parameters:
fullCustomFieldKey - identifies the custom field values you are looking for.
Returns:
the values for the provided custom field if they exist, null otherwise.

addCustomFieldValue

IssueInputParameters addCustomFieldValue(Long customFieldId,
                                         String... values)
Adds a value for a custom field with the specified id. This will put a value in the web-style parameters with a key of the form "customfield_PROVIDED_ID". If you want to specify the key then use the method addCustomFieldValue(String, String...).

Parameters:
customFieldId - the unique identifier of the custom field.
values - the custom field values, must be in the format the field expects.
Returns:
this object.

addCustomFieldValue

IssueInputParameters addCustomFieldValue(String fullCustomFieldKey,
                                         String... values)
Adds a value for a custom field with the specified full key. This will put a value in the web-style parameters with a key as provided.

Parameters:
fullCustomFieldKey - used in the "web-style" parameters as the key, the custom field should expect this value as the key in its populate from parameters method.
values - the custom field values, must be in the format the field expects.
Returns:
this object.

getCommentValue

String getCommentValue()
Returns:
the comment string value if it has been set, null otherwise.

setComment

IssueInputParameters setComment(String comment)
Set a comment value with no visibility restrictions.

Parameters:
comment - the comment value.
Returns:
this object.

setComment

IssueInputParameters setComment(String comment,
                                Long projectRoleId)
Set a comment value with a project role restriction.

Parameters:
comment - the comment value.
projectRoleId - the id of the project role the comment must be restricted by.
Returns:
this object.

setComment

IssueInputParameters setComment(String comment,
                                String groupId)
Set a comment value with a group restriction.

Parameters:
comment - the comment value.
groupId - the group name that the comment must be restricted by.
Returns:
this object.

getActionParameters

Map<String,String[]> getActionParameters()
This provides the "web-style" parameters that JIRA fields expect to perform their functions.

Returns:
this is a raw map of "web" style input parameters. These parameters are used to allow the fields to attain the user inputted values. This map is of the style: <field_name> <String [] {value}>.

setFieldValuesHolder

void setFieldValuesHolder(Map<String,Object> fieldValuesHolder)
If set the validation will use the seed values from this field values holder.

Parameters:
fieldValuesHolder - provides the seed values for the field values holder.

getFieldValuesHolder

Map<String,Object> getFieldValuesHolder()
Returns:
the provided field values holder or an empty map, never null.

getProvidedFields

Collection<String> getProvidedFields()
Returns:
the field id's that should be validated, null if not specified.

setProvidedFields

void setProvidedFields(Collection<String> providedFields)
Use this to indicate which fields validation should be performed on, if left alone then the systems configured fields for either create/update will be used.

Parameters:
providedFields - a collection of Field.getId()'s which identify the fields.

isFieldSet

boolean isFieldSet(String fieldId)
Parameters:
fieldId - identifies the field in question, this will be the Field.getId().
Returns:
true if a non-null, non-empty value has been set for the field, false if not.

isFieldPresent

boolean isFieldPresent(String fieldId)
Parameters:
fieldId - identifies the field in question, this will be the Field.getId().
Returns:
true if the field has been set, even with an empty value, false if not.

setProjectId

IssueInputParameters setProjectId(Long projectId)
Parameters:
projectId - sets the project id for the issue.
Returns:
this object.

getProjectId

Long getProjectId()
Returns:
the set project id, null if one does not exist or if it is not a valid number.

setIssueTypeId

IssueInputParameters setIssueTypeId(String issueTypeId)
Parameters:
issueTypeId - sets the issue type for the issue.
Returns:
this object.

getIssueTypeId

String getIssueTypeId()
Returns:
the set issue type id, null if one does not exist.

setPriorityId

IssueInputParameters setPriorityId(String priorityId)
Parameters:
priorityId - sets the priority for the issue.
Returns:
this object.

getPriorityId

String getPriorityId()
Returns:
the set priority id, null if one does not exist.

setResolutionId

IssueInputParameters setResolutionId(String resolutionId)
Parameters:
resolutionId - sets the resolution for the issue.
Returns:
this object.

getResolutionId

String getResolutionId()
Returns:
the set resolution id, null if one does not exist.

setStatusId

IssueInputParameters setStatusId(String statusId)
Parameters:
statusId - sets the status of the issue.
Returns:
this object.

getStatusId

String getStatusId()
Returns:
the set status id, null if one does not exist.

setSummary

IssueInputParameters setSummary(String summary)
Parameters:
summary - sets the summary for the issue.
Returns:
this object.

getSummary

String getSummary()
Returns:
the set summary, null if one does not exist.

setDescription

IssueInputParameters setDescription(String description)
Parameters:
description - sets the description for the issue.
Returns:
this object.

getDescription

String getDescription()
Returns:
the set description, null if one does not exist.

setEnvironment

IssueInputParameters setEnvironment(String environment)
Parameters:
environment - sets the environment of the issue.
Returns:
this object.

getEnvironment

String getEnvironment()
Returns:
the set environment, null if one does not exist.

setAssigneeId

IssueInputParameters setAssigneeId(String assigneeId)
Parameters:
assigneeId - sets the assignee id for the issue.
Returns:
this object.

getAssigneeId

String getAssigneeId()
Returns:
the set assginee, null if one does not exist.

setReporterId

IssueInputParameters setReporterId(String reporterId)
Parameters:
reporterId - sets the reporter id for the issue.
Returns:
this object.

getReporterId

String getReporterId()
Returns:
the set reporter, null if one does not exist.

setComponentIds

IssueInputParameters setComponentIds(Long... componentIds)
Parameters:
componentIds - sets the components id's on the issue.
Returns:
this object.

getComponentIds

Long[] getComponentIds()
Returns:
the set component id's, null if they do not exist or if they are not valid numbers.

setFixVersionIds

IssueInputParameters setFixVersionIds(Long... fixVersionIds)
Parameters:
fixVersionIds - sets the fix version id's on the issue.
Returns:
this object.

getFixVersionIds

Long[] getFixVersionIds()
Returns:
the set fix version id's, null if they do not exist or if they are not valid numbers.

setAffectedVersionIds

IssueInputParameters setAffectedVersionIds(Long... affectedVersionIds)
Parameters:
affectedVersionIds - sets the affected version id's= on the issue.
Returns:
this object.

getAffectedVersionIds

Long[] getAffectedVersionIds()
Returns:
the set affected version id's, null if they do not exist or if they are not valid numbers.

setDueDate

IssueInputParameters setDueDate(String dueDate)
Parameters:
dueDate - the formatted string that JIRA will accept as a date that will be set on the issue.
Returns:
this object.

getDueDate

String getDueDate()
Returns:
the set due date, null if one does not exist.

setResolutionDate

IssueInputParameters setResolutionDate(String resolutionDate)
Parameters:
resolutionDate - the formatted string that JIRA will accept as a date that will be set on the issue.
Returns:
this object.

getResolutionDate

String getResolutionDate()
Returns:
the set resolution date, null if one does not exist.

setSecurityLevelId

IssueInputParameters setSecurityLevelId(Long securityLevelId)
Parameters:
securityLevelId - sets the security level id on the issue.
Returns:
this object.

getSecurityLevelId

Long getSecurityLevelId()
Returns:
the set security level id, null if one does not exist or it is not a valid number.

setOriginalEstimate

IssueInputParameters setOriginalEstimate(Long originalEstimate)
Sets the original estimate on the issue. If (APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set, we are in legacy time tracking mode and this method behaves differently. See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode for more information on legacy mode.

Parameters:
originalEstimate - the new original estimate on the issue. The units used are determined by APKeys.JIRA_TIMETRACKING_DEFAULT_UNIT.
Returns:
this object.

setOriginalEstimate

IssueInputParameters setOriginalEstimate(String originalEstimate)
Sets the original estimate on the issue. If (APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set, we are in legacy time tracking mode and this method behaves differently. See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode for more information on legacy mode.

Parameters:
originalEstimate - the new original estimate on the issue, e.g. "1d 5h" for 1 day and 5 hours
Returns:
this object.

setRemainingEstimate

IssueInputParameters setRemainingEstimate(String remainingEstimate)
Sets the remaining estimate on the issue If (APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set, we are in legacy time tracking mode and this method behaves differently. See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode for more information on legacy mode.

Parameters:
remainingEstimate - the remaining estimate on the issue, e.g. "1d 5h" for 1 day and 5 hours
Returns:
this object

setRemainingEstimate

IssueInputParameters setRemainingEstimate(Long remainingEstimate)
Sets the remaining estimate on the issue If (APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set, we are in legacy time tracking mode and this method behaves differently. See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode for more information on legacy mode.

Parameters:
remainingEstimate - the remaining estimate on the issue. The units used are determined by APKeys.JIRA_TIMETRACKING_DEFAULT_UNIT.
Returns:
this object

setOriginalAndRemainingEstimate

IssueInputParameters setOriginalAndRemainingEstimate(String originalEstimate,
                                                     String remainingEstimate)
Sets both the original and remaining estimate on the issue. If (APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set, we are in legacy time tracking mode and this method has no effect. See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode for more information on legacy mode.

Parameters:
originalEstimate - the new original estimate, e.g. "1d 5h" for 1 day and 5 hours
remainingEstimate - the new remaining estimate, e.g. "1d 5h" for 1 day and 5 hours
Returns:
this object

setOriginalAndRemainingEstimate

IssueInputParameters setOriginalAndRemainingEstimate(Long originalEstimate,
                                                     Long remainingEstimate)
Sets both the original and remaining estimate on the issue. If (APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set, we are in legacy time tracking mode and this method has no effect. See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode for more information on legacy mode.

Parameters:
originalEstimate - the new original estimate. The units used are determined by APKeys.JIRA_TIMETRACKING_DEFAULT_UNIT.
remainingEstimate - the new remaining estimate.The units used are determined by APKeys.JIRA_TIMETRACKING_DEFAULT_UNIT.
Returns:
this object

getOriginalEstimate

Long getOriginalEstimate()
Gets the original estimate set. If (APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set, we are in legacy time tracking mode and this will return the same as getRemainingEstimate(). See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode for more information on legacy mode.

Returns:
the set original estimate, null if one does not exist or it is not a valid number.

getRemainingEstimate

Long getRemainingEstimate()
Gets the remaining estimate set. If (APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set, we are in legacy time tracking mode and this will return the same as getOriginalEstimate() . See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode for more information on legacy mode.

Returns:
the set remaining estimate, null if one does not exist or it is not a valid number.

getOriginalEstimateAsDurationString

String getOriginalEstimateAsDurationString()
Gets the original estimate set. If (APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set, we are in legacy time tracking mode and this will return the same as getRemainingEstimateAsDurationString(). See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode for more information on legacy mode.

Returns:
the set original estimate, null if one does not exist.

getRemainingEstimateAsDurationString

String getRemainingEstimateAsDurationString()
Gets the remaining estimate provided If (APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set, we are in legacy time tracking mode and this will return the same as getOriginalEstimateAsDurationString(). See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode for more information on legacy mode.

Returns:
the set remaining estimate, null if one does not exist.

setTimeSpent

IssueInputParameters setTimeSpent(Long timeSpent)
Parameters:
timeSpent - sets the time spent on the issue.
Returns:
this object.

getTimeSpent

Long getTimeSpent()
Returns:
the set time spent, null if one does not exist or it is not a valid number.


Copyright © 2002-2012 Atlassian. All Rights Reserved.