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