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

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,463,474
Community Members
 
Community Events
176
Community Groups

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

Atlassian Community Events