Hi,
I am using the below script to copy a custom field value set from an associated issue to EPIC's custom field. But I am getting the below error and unable to get the value in EPIC's custom. Please advice, what it's wrong in my script.
2017-03-15 20:13:21,907 WARN [workflow.ScriptWorkflowFunction]:
{customfield_10715=Invalid value 'YES' passed for customfield 'Global XLS Update Impacted'. Allowed values are: 13624[YES], 13625[NO], -1}
Trying to copy "Global XLS Update IMPACT" set custom field from an associated issue to EPIC custom field "Global XLS Update Impacted" of Radio button date type has YES, NO values configured as default values in it.
Based on Associated issue value set, has to be copied into EPIC's custom field.
import com.atlassian.jira.ComponentManager import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.Issue import com.opensymphony.workflow.InvalidInputException log.setLevel(org.apache.log4j.Level.DEBUG) import com.atlassian.jira.issue.IssueInputParameters import com.atlassian.jira.issue.customfields.option.LazyLoadedOption import com.atlassian.jira.issue.customfields.option.Option def issue = issue as Issue def customFieldManager = ComponentAccessor.getCustomFieldManager() def issueService = ComponentAccessor.getIssueService() def epicLinkCf = customFieldManager.getCustomFieldObjectByName("Epic Link") def epicLink = issue.getCustomFieldValue(epicLinkCf) as Issue IssueInputParameters issueInputParameters = issueService.newIssueInputParameters(); def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser() def cascade3 = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Global XLS Update IMPACT") //Associated issue's custom field name; Radio button date type def cascade99 = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Global XLS Update Impacted") //EPIC's custom field name; Radio button date type String cfVal3 = issue.getCustomFieldValue(cascade3) String optionToSet1 = ComponentAccessor.getOptionsManager().getOptions(cascade99.getRelevantConfig(epicLink)).find {option -> option.value == cfVal3} issueInputParameters.addCustomFieldValue("customfield_10715", optionToSet1) //customfield_10715 is custom field id of EPIC's custom field i,e Global XLS Update Impacted def updateValidationResult = issueService.validateUpdate(currentUser, epicLink.id, issueInputParameters) if (updateValidationResult.isValid()) { issueService.update(currentUser, updateValidationResult) } else { log.warn updateValidationResult.errorCollection.errors }
I got the needed solution and modified the below 2 lines to pass the optionId now as below::
with this, able to update the value to EPIC's custom field successfully now. Thanks.
def optionToSet1 = ComponentAccessor.getOptionsManager().getOptions(cascade99.getRelevantConfig(epicLink)).find {option -> option.value == cfVal3} String optionToSet2 = optionToSet1.optionId issueInputParameters.addCustomFieldValue("customfield_10715", optionToSet2) //customfield_10715 is custom field id of EPIC's custom field i,e Global XLS Update Impacted
Hi Manjunath,
Do you know how to validate custom field value from the linked issue while linking to other issue on create screen?
Lets just say I want to create new bug, and is having "Cause"[select type single choice] field contains "Product Feature" and "Technical Feature".
If user select 'Cause' field as 'Product Feature' then require at least one 'Issue Link' with relationship of "Is Caused By" must exist and must have a linked GTN Epic of where the Epic's 'Feature Type' field has the value of 'Product Feature'.
Ex: Need to validate weather 'GTN-28761' has 'Feature Type' of 'Product Feature' or not
I am new to groovy, can you help me please
Thanks
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.