Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How to set "Start Date" in a transition?

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)

1 answer

0 votes

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

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)

Did you add logging to your script? If so, have a look in the atlassian-jira.log for the logged message.

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Posted in Trello

Taco Tuesday: Your favorite Trello blog takeaway

Hello friends! From the community that brought you Welcome Wednesday, Throwback Thursday and Friday Fun, welcome to Taco Tuesday, a weekly discussion about all things Trello. The best part? One Tac...

89 views 7 6
Join discussion

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you