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.
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.