You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
We're on JIRA cloud and are trying out the ScriptRunner addon. Is it possible to set a custom date picker field with the current date/time in a workflow transition's post function? If so, how would I do so?
By playing around with a test workflow, I think I found what you need:
I have not tested this, but I'm trusting what I read on screen on Step 6 as JIRA shows:
Please make sure that the value you enter is valid for custom field its datatype
and context configuration for the project using this workflow.
Otherwise, the transition may fail at execution time.
Additionally to enter text or numbers as value, you may use the following:
- You may use macro '%%CURRENT_USER%%' to insert the function caller.
- You may use macro '%%CURRENT_DATETIME%%' to insert the current date and time.
- You may use macro '%%ADD_CURRENT_USER%%' to append the function caller. Obsolete please use append option instead with user macro above.
- For Cascading Select fields, you may either use the value of the option to be selected, no need to add the parent for childs. Or simply enter the ID of the option to be selected.
@Lexi Pike Just occurred to me that you can probably use the jira automation feature to set it if your instance has it available or if you're on cloud. It allows for smart dates that you can assign offset dates to fields on. It's slightly technical but all point and click with text boxes to do.
Step 4 mentions "Update Issue Custom Field". That's not available on our Community server-based version, or is perhaps a configuration issue? I see only "Update Issue Field" (desc: Updates a simple issue field to a given value) and I would like to edit a custom field (date picker) and the custom field does not appear in the drop down of applicable fields.
Here is code for custom script post-function:
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.event.type.EventDispatchOption import com.atlassian.jira.issue.MutableIssue import com.atlassian.jira.issue.UpdateIssueRequest import java.sql.Timestamp issue.setCustomFieldValue( ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("customFieldname") , new Timestamp() ) //only for create transition /* ComponentAccessor.getIssueManager().updateIssue( ComponentAccessor.getJiraAuthenticationContext().getUser() , issue , UpdateIssueRequest.builder().sendMail(false).eventDispatchOption(EventDispatchOption.ISSUE_UPDATED).build() ) */
I dont have script runner.
I want only the month to be updated in the custom field. Is there any macro similar to %%CURRENT_DATETIME%% available for the same.
Could there be any solution, either a direct macro for month, or to extract only the month part from the datetime, and populate it to another custom field.
Edit your workflow, add new post-function on the action of type "Script Post-function".
Choose "Modify Issue" function.
Enter the following code:
issueInput.fields.customfield_10132 = new Date().format("yyyy-MM-dd")
where 10132 is the ID of the custom field you want to update.
I'm getting this error now. Is there any way to set this field without having to surface it on my screens? I'd rather not allow users to change this value.
2016-11-21 19:09:28,388 INFO - Serializing object into 'interface java.util.Map' 2016-11-21 19:09:28,390 INFO - PUT /rest/api/2/issue/80258 asObject Request Duration: 326ms 2016-11-21 19:09:28,403 ERROR - assert resp.status == 204 | | | | 400 false status: 400 -` Bad Request body: [errorMessages:, errors:[customfield_15500:Field 'customfield_15500' cannot be set. It is not on the appropriate screen, or unknown.]]