Hi,
I made up this code in postfunction in Create Issue transition:
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.user.util.UserManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.datetime.LocalDateFactory
import com.atlassian.jira.datetime.LocalDate
import java.util.Date
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueInputParameters
import com.atlassian.jira.bc.issue.IssueService
import com.atlassian.jira.project.ProjectManager
import com.atlassian.jira.project.Project
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.link.IssueLink
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import java.util.Calendar
import java.util.Date
//Wydobywanie potrzebnych bibliotek
IssueManager issueManager = ComponentAccessor.getIssueManager()
IssueService issueService = ComponentAccessor.getIssueService()
def issueFactory = ComponentAccessor.getIssueFactory()
def subTaskManager = ComponentAccessor.getSubTaskManager()
def constantManager = ComponentAccessor.getConstantsManager()
def userManager = ComponentAccessor.getUserManager()
def customFieldManager = ComponentAccessor.getCustomFieldManager()
//User Jira
ApplicationUser applicationUser = ComponentAccessor.getUserManager().getUserByName("jira")
//Projekt DIN
Project project = ComponentAccessor.getProjectManager().getProjectByCurrentKey("DIN")
//Ustawianie parentIssue
Issue parentIssue = issue
//Custom field z akceptacją
CustomField accepted = customFieldManager.getCustomFieldObjectsByName("Accepted")[0]
//Subtask ID
String subtaskId = "10003"
//Timestamp
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("Europe/Berlin"))
Date date = new Date()
LocalDate localDate = LocalDateFactory.from(date)
calendar.set(Calendar.MONTH, localDate.getMonth())
if(localDate.getDay() >= 27) {
if(localDate.getMonth() == 12) calendar.set(Calendar.MONTH, 1)
else calendar.set(Calendar.MONTH, localDate.getMonth()+1)
calendar.set(Calendar.DAY_OF_MONTH, 1)
} else {
calendar.set(Calendar.MONTH, localDate.getMonth())
calendar.set(Calendar.DAY_OF_MONTH, localDate.getDay())
}
if(issue.getSummary().contains("[ZUA] Checklista - [")){
ApplicationUser userOper = userManager.getUserByName("OPER")
def subtaskiZUA = ["Zamknięcie dnia IForce", "Zamknięcie DEFa"]
subtaskiZUA.each {
//Tworzenie obiektu z parametrami
MutableIssue subtaskParams = issueFactory.getIssue()
//Dodawanie parametrów
subtaskParams.setAssignee(userOper)
subtaskParams.setCustomFieldValue(accepted, "Yes")
subtaskParams.setIssueTypeId(subtaskId)
subtaskParams.setParentObject(parentIssue)
subtaskParams.setProjectObject(project)
subtaskParams.setReporter(applicationUser)
subtaskParams.setSummary(it)
subtaskParams.setDueDate(new java.sql.Timestamp(calendar.getTimeInMillis()))
//Tworzenie mapy params
Map<String,Object> subtaskParamsMap = ["issue" : subtaskParams] as Map<String,Object>
log.warn("Made subtask parameters: " + it)
//Tworzenie zgłoszenia (które trzeba zmianić na subtask)
Issue subtask = issueManager.createIssueObject(applicationUser, subtaskParamsMap)
log.warn("Utworzono subtaska")
}
}
And after creating issue that meet with first IF, script runs just to first log.warn (so just after creating parameters map) but apparently stop on
Issue subtask = issueManager.createIssueObject(applicationUser, subtaskParamsMap)
Without giving me any errors :/ Only log I have later in Execution Information is my own log.warn confirming creating params map.
Here's what it says me
Time (on server): Tue Jul 30 2019 00:09:12 GMT+0200 (Central European Summer Time)
The following log information was produced by this execution. Use statements like:log.info("...") to record logging information.
2019-07-30 00:09:12,756 WARN [workflow.ScriptWorkflowFunction]: Made subtask parameters: Zamknięcie dnia IForce
And it don't even create a single subtask
Maybe somebody know how get more informations why it doesn't want to work?
I found out what made my headache like whole day
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to com.atlassian.jira.issue.customfields.option.Option
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.