Hi,
When creating new Epic I want to create issues in epic per checkbox values.
I also want to copy the checkbox value to the new created issues in the epic.
All working well with my script below except the copy of the checkbox.
For example:
If my checkbox field called 'domain' and I checked in the epic A, B and C values -> I want the script to create 3 new issues -> one with domain value A, second with domain value B and third with domain value C.
Thanks for your help!
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.bc.issue.IssueService
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.IssueInputParameters
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.customfields.manager.OptionsManager
import com.atlassian.jira.issue.customfields.Option
import com.atlassian.jira.issue.customfields.option.Options
import com.atlassian.fugue.Option
import org.apache.log4j.Logger
import org.apache.log4j.Level
def log = Logger.getLogger("com.acme.CreateSubtask")
log.setLevel(Level.DEBUG)
IssueService issueService = ComponentAccessor.getIssueService();
ApplicationUser user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
MutableIssue issue = issue
OptionsManager optionsManager = ComponentAccessor.getOptionsManager();
def domainField = ComponentAccessor.getCustomFieldManager().getCustomFieldObject("customfield_16850");
def epicLinkField = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Epic Link");
def selectedValues = issue.getCustomFieldValue(domainField) as List
if (selectedValues != null){
for(int i=0; i<selectedValues.size(); i++){
Options options = optionsManager.getOptions(domainField.getConfigurationSchemes().first().getOneAndOnlyConfig());
def selectedOption = options.findAll {it.value == selectedValues[i].toString()}.collect {it.optionId.toString()}
IssueInputParameters issueInputParameters = issueService.newIssueInputParameters();
issueInputParameters
.setProjectId(15530L)
.setIssueTypeId("6")
.setSummary("Content Task For Domain: " + selectedValues[i].toString())
.setReporterId(issue.reporterId)
.setAssigneeId("DavidAntebi")
.setDescription(issue.description)
.addCustomFieldValue(epicLinkField.getId(), issue.key)
.addCustomFieldValue(domainField.getId(), selectedOption[0].toString())
IssueService.CreateValidationResult createValidationResult = issueService.validateCreate(user, issueInputParameters)
if(createValidationResult.isValid()){
log.error("entrou no createValidationResult")
IssueService.IssueResult createResult = issueService.create(user, createValidationResult)
if (!createResult.isValid()){
log.error("Error while creating the issue.")
}
}
}
}