Hi,
Behaviours's Validation Script(i,e Add-on->Behaviours->"Customfield") not enacted during the clone of multiple issues using groovy script
Is there a way to achieve it?
When I create multiple clone issues using my groovy script, all Cloned issues are created successfully but Behaviours's Validation Script(i,e Add-on->Behaviours->Subsystem) written to map subsystem - "module owner" custom field value is not getting updated successfully in new issues.
is this not possible to enact using Behaviours Plugin Validation Script - when cloning issues using my below groovy script::
I believe cloneIssue() and createIssueObject() function will work with the condition added i,e (actionId == 1 && actionName == "Create" ) as part of my Validation Script(i,e Add-on->Behaviours->Subsystem) written to map subsystem - module owner custom field value.
/* clone of multiple Jira issues created using the below groovy script snipet in one of my project workflow, post function*/ import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.Issue import com.atlassian.jira.issue.customfields.option.LazyLoadedOption Issue issue = issue def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser() //assuming this is a multiple select list custom field def componentCF = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Component CF") def selectedComponents = issue.getCustomFieldValue(componentCF) //assuming this is a select list (single choice) def subSystemCF = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Subsystem") selectedComponents?.each { LazyLoadedOption it -> def issueFactory = ComponentAccessor.getIssueFactory() def issueManager = ComponentAccessor.getIssueManager() def newIssue = issueFactory.cloneIssue(issue) // because the sub-system is a select list (single choice) we should find the option with that value (if any) def optionToSet = ComponentAccessor.getOptionsManager().getOptions(subSystemCF.getRelevantConfig(issue)).find {option -> option.value == it.value} // set the value of the custom sub-system and any other issue parameters you wish (project, assignee, etc) newIssue.setCustomFieldValue(subSystemCF, optionToSet) Map newIssueParams = ["issue":newIssue] as MapIssue newIssue1 = issueManager.createIssueObject(currentUser,newIssueParams) -------------------- }
/* Validation Script(i,e Add-on->Behaviours->Subsystem) written to map subsystem - "module owner" custom field value */ import org.ofbiz.core.entity.GenericValueimport com.atlassian.jira.issue.customfields.manager.OptionsManagerFormField formComponent = getFieldById(fieldChanged) FormField formSubcomponent = getFieldByName ("Module Owner") FormField Release_Prime = getFieldByName ("Release Prime") def actionName = getActionName() def actionId = getAction().getId() def componentFormValue = formComponent.getFormValue() def componentValue = "" def relPrimeVal="" if((actionId == null && actionName == null)||(actionId == 1 && actionName == "Create" )|| (actionId == 1431 && actionName == "Change Subsystem")|| (actionId == 1441 && actionName == "Clone PR") ||(actionId == 771 && actionName == "Clone for All")|| (actionId == 811 && actionName == "Clone for All")|| (actionId == 1101 && actionName == "Restricted Update")|| (actionId == 1081 && actionName == "Restricted Update")){ formComponent.setReadOnly(false) switch (componentFormValue) { case "10030" : //Agent componentValue = "Platform-Support" relPrimeVal="Server-release" break case "10031" : //Automation tool componentValue = "automation" relPrimeVal="Server-release" break case "-1" : componentValue = "kkadhu" relPrimeVal="Server-release" break ............. ............. } formSubcomponent.setFormValue(componentValue) Release_Prime.setFormValue(relPrimeVal) } else { formComponent.setReadOnly(true) Release_Prime.setReadOnly(true) } /* The custom field "Module Owner" is defined as below in 'Add-on->Behaviours-> Module Owner' */ Field: Module Owner Optional (Require) Readonly (Writable) Shown (Hide)
You've asked this several times already.
Yes Jamie, I agree.
In context of getting different scenarios clarification, I created this ticket.
Sorry for the confusion. Will discuss this same context in other ticket, where you had shared your feedback. Thanks.
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.