I have a function that transitions issues:
static def updateIssueStatus(Issue issue, ApplicationUser user, int actionID, String statusID="", String resolutionID="") {
IssueInputParameters issueInputParameters = ComponentAccessor.issueService.newIssueInputParameters()
issueInputParameters.with {
setResolutionId(resolutionID)
setStatusId(statusID)
setSkipScreenCheck(true)
}
TransitionOptions transitionOptions = new TransitionOptions.Builder().skipConditions().skipPermissions().skipValidators().build()
IssueService.TransitionValidationResult validationResult = ComponentAccessor.issueService.validateTransition(user, issue.id, actionID, issueInputParameters, transitionOptions)
if (validationResult.isValid()) {
IssueService.IssueResult issueResult = ComponentAccessor.issueService.transition(user, validationResult)
if (!issueResult.isValid()) {
log.error("Failed to transition parent ${issue.key}, errors: ${issueResult.errorCollection}")
}
} else {
log.error("Could not transition parent ${issue.key}, errors: ${validationResult.errorCollection}")
log.error("validationResult getFieldValuesHolder: ${validationResult.getFieldValuesHolder()}")
}
}It works perfectly fine with default language setting. But if it's different (French in my case) it throws error:
Could not transition, errors: Errors: {customfield_33000=Invalid date format. Please enter the date in the format "dd/MMM/yy h:mm a".}
It is a date field and it's current value is indeed in validationResult.getFieldValuesHolder and format looks like this:
Params: {null=[17/avr./24 11:01 AM]}However it's not in issueInputParameters
How can I fix this assuming I have to keep user's language setting