Hi.
I'm trying to set the current date to our customfield deadline in the creattion transition.
This doesn't work...
Here is my groovy script:
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.util.IssueChangeHolder
import com.atlassian.jira.issue.ModifiedValue
import org.apache.log4j.Category
import java.sql.Timestamp
log = Category.getInstance("com.oncreate.jira.groovy.Deadline")
log.setLevel(org.apache.log4j.Level.DEBUG)
CustomFieldManager customFieldManager = componentManager.getCustomFieldManager()
IssueChangeHolder changeHolder = new DefaultIssueChangeHolder()
Issue issue = issue
def date1 = new Timestamp(new Date().getTime())
if ( issue.projectObject.name == 'Tagesgeschäft WP' )
{
def cfDeadline = customFieldManager.getCustomFieldObjects(issue).find {it.name == 'Deadline'}
if ( !issue.getCustomFieldValue(cfDeadline) ) {
log.debug "Deadline not set for "+issue.getKey() + " " + date1.toString()
cfDeadline.updateValue(null, issue, new ModifiedValue("", date1), changeHolder)
log.debug "Deadline now set to: " +issue.getCustomFieldValue(cfDeadline)
} else {
log.debug "Deadline is already set for "+issue.getKey()+": "+issue.getCustomFieldValue(cfDeadline)
}
}
else {
log.debug "Nothing to do. Project != Tagesgeschäft WP"
}
and the lines from the log file:
2014-12-09 12:39:31,792 QuartzScheduler_Worker-0 DEBUG ServiceRunner DBT [oncreate.jira.groovy.Deadline] Deadline not set for null 2014-12-09 12:39:31.781
2014-12-09 12:39:31,883 QuartzScheduler_Worker-0 DEBUG ServiceRunner DBT [oncreate.jira.groovy.Deadline] Deadline now set to: null
2014-12-09 12:39:32,201 QuartzScheduler_Worker-0 INFO ServiceRunner DBT [atlassian.mail.incoming.mailfetcherservice] DBT[10111]: Issue DBT-8172 created
What can I do to set the customfield as postfunction of creation transition?
Thanks in advance.
Petra