I have a date picker field. I would like to use scriprunner to help me enable a second field to display the date of the first field plus 1 year. Can you show me how to do that? Thanks
Hi Maggie,
I do not know the exact requirements but I suggest to use a scripted field. What this actually does is to create a dependent to another field/s custom field.
It is important to configure your scripted field right, so in your case will be
For the searcher use the Date Time Range picker. For the template use Date Time Picker.
And for the inline script
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.Issue Issue issue = issue def customFieldManager = ComponentAccessor.getCustomFieldManager() // the dependent custom field def dateACF = customFieldManager.getCustomFieldObjectByName("Date A") // get the value of the date A custom field def dateAValue = issue.getCustomFieldValue(dateACF) as Date // build the new date def dateB = Calendar.getInstance() // copy to the new date the value of the Date A custom field dateB.setTime(dateAValue) // add one year dateB.add(Calendar.YEAR, 1) return dateB.getTime()
So in the end your scripted field will look like
Screen Shot 2017-01-11 at 22.48.30.png
Hope that helps,
regards, Thanos
That works great! Thanks. Is there a way to display the resulting date without including the time?
I didn't notice that I am getting errors in the logs when I use this script:
****************************************************2017-06-26 14:16:30,497 http-nio-8080-exec-21 ERROR margaret_stearns 856x3297x1 1b46rt 10.56.40.1 /secure/QuickEditIssue.jspa [c.o.scriptrunner.customfield.GroovyCustomField] Script field failed on issue: TP-18, field: Verification Expire Date (1 year)java.lang.NullPointerExceptionat java_util_Calendar$setTime$0.call(Unknown Source)at Script238.run(Script238.groovy:17)
I figured out my problem. I needed to add some code for the case if the date is null (not set).
It looks like you're new here. Sign in or register to get started.