I want to set a date field to indicate that an Epic was started on the date when it's transitioned to the "In Progress" status. I've added a post function which runs the following script inline, but just can't seem to get it to work:
Script is
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import java.sql.Timestamp
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def dateCf = customFieldManager.getCustomFieldObjectByName('Start Date')
issue.setCustomFieldValue(dateCf, new Timestamp((new Date()).time))
Error is:
2018-08-08 09:27:02,168 ERROR [workflow.ScriptWorkflowFunction]: ************************************************************************************* 2018-08-08 09:27:02,169 ERROR [workflow.ScriptWorkflowFunction]: Script function failed on issue: PROJECT-362, actionId: 111, file: <inline script> java.lang.NullPointerException at com.atlassian.jira.issue.IssueImpl.getCustomFieldValue(IssueImpl.java:896) at com.atlassian.jira.issue.IssueImpl.setCustomFieldValue(IssueImpl.java:906) at com.atlassian.jira.issue.MutableIssue$setCustomFieldValue.call(Unknown Source) at Script45.run(Script45.groovy:10)
Hello,
I think this line causes the error because the Start Date custom field does not exist:
def dateCf = customFieldManager.getCustomFieldObjectByName('Start Date')
Add logging to your script like this:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import java.sql.Timestamp
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def dateCf = customFieldManager.getCustomFieldObjectByName('Start Date')
log.error("dateCF: " + dateCf);
issue.setCustomFieldValue(dateCf, new Timestamp((new Date()).time))
And have a look in the atlassian-jira.log file for this erros message
Hi, I've taken that from other examples, if Start Date isn't there, how can I get at it to set it? I can create a new user defined field but would prefer to re-use if possible...?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You should create a custom field of the Date Time or Date picker or user any available field of this type.
You can create a custom field by going to cog item-> issues -> custom fields.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Start Date appears in the Custom fields already - as a Date Picker... so I'm not sure why the above code is failing? Set to being Global (all issues)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Did you add logging to your script? If so, have a look in the atlassian-jira.log for the logged message.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.