Hi community!
I'm an inexperienced user in scripts :((
I need your help for writing script post-function.
I have this script:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.ModifiedValue
import java.text.SimpleDateFormat;
customFieldManager = ComponentAccessor.getCustomFieldManager()
Date date = new Date()
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yy HH:mm")
String formattedDate = dateFormat.format(date)
CustomField date_planning = customFieldManager.getCustomFieldObjectByName("CustomField_value")
String planning_Value = (String)issue.getCustomFieldValue(date_planning)
date_planning.updateValue(null, issue, new ModifiedValue(null, formattedDate), new DefaultIssueChangeHolder())
It's script don't work :(
Error log:
java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Date at com.atlassian.jira.issue.customfields.impl.DateTimeCFType.getDbValueFromObject(DateTimeCFType.java:59) at com.atlassian.jira.issue.customfields.impl.AbstractSingleFieldType.createValue(AbstractSingleFieldType.java:138) at com.atlassian.jira.issue.fields.ImmutableCustomField.createValue(ImmutableCustomField.java:693) at com.atlassian.jira.issue.fields.ImmutableCustomField.updateValue(ImmutableCustomField.java:410) at com.atlassian.jira.issue.fields.ImmutableCustomField.updateValue(ImmutableCustomField.java:396) at com.atlassian.jira.issue.fields.OrderableField$updateValue.call(Unknown Source) at Script1974.run(Script1974.groovy:18)
We need the value of today's date in the format (dd/MM/yy HH:mm) to be moved to the custom field (date_planning).
I really hope for your help! Thanks in advance!
Regards
Hello @Alexander
Try like this
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.ModifiedValue
import java.text.SimpleDateFormat;
customFieldManager = ComponentAccessor.getCustomFieldManager()
Date date = new Date()
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yy HH:mm")
String formattedDate = dateFormat.format(date)
CustomField date_planning = customFieldManager.getCustomFieldObjectByName("CustomField_value")
def planning_Value = issue.getCustomFieldValue(date_planning)
date_planning.updateValue(null, issue, new ModifiedValue(planning_Value, formattedDate), new DefaultIssueChangeHolder())
Hi @Mark Markov
Thanks for your response!
Now error log:
2018-09-26 15:10:33,975 ERROR [workflow.ScriptWorkflowFunction]: Script function failed on issue: NCB-2698, actionId: 21, file: <inline script> java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Date at com.atlassian.jira.issue.customfields.impl.DateTimeCFType.getDbValueFromObject(DateTimeCFType.java:59) at com.atlassian.jira.issue.customfields.impl.AbstractSingleFieldType.createValue(AbstractSingleFieldType.java:138) at com.atlassian.jira.issue.fields.ImmutableCustomField.createValue(ImmutableCustomField.java:693) at com.atlassian.jira.issue.fields.ImmutableCustomField.updateValue(ImmutableCustomField.java:410) at com.atlassian.jira.issue.fields.ImmutableCustomField.updateValue(ImmutableCustomField.java:396) at com.atlassian.jira.issue.fields.OrderableField$updateValue.call(Unknown Source) at Script1987.run(Script1987.groovy:15)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
If field Date Time, you should provide Timestamp object to update it. Like this:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.ModifiedValue
import java.sql.Timestamp
import java.text.SimpleDateFormat;
def customFieldManager = ComponentAccessor.getCustomFieldManager()
Date date = new Date()
def time = new Timestamp(date.getTime())
CustomField date_planning = customFieldManager.getCustomFieldObjectByName("Дата возврата в работу")
def planning_Value = issue.getCustomFieldValue(date_planning)
date_planning.updateValue(null, issue, new ModifiedValue(planning_Value, time), new DefaultIssueChangeHolder())
But also, in your case you can use free JSU addon to achieve this requirement. It have bundled postfunction "Set Custom Field Value" with global variables like %%CURRENT_TIME%%
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.