Update AffectedVersions on Epic from Theme when Epic get linked to Theme

helen levich
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 19, 2019

Is it possible to update AffectedVersions from Theme to Epic when Epic get linked to Theme? Bellow is script that I came up with for that, but update is not happening.

Could you please take a quick look if that will work for the purpose?Thank you

import com.atlassian.jira.ComponentManagerimport com.atlassian.jira.issue.CustomFieldManagerimport com.atlassian.jira.issue.customfields.CustomFieldTypeimport com.atlassian.jira.issue.fields.CustomFieldimport org.apache.log4j.Categoryimport com.atlassian.jira.component.ComponentAccessor;import com.atlassian.jira.issue.ModifiedValue;import com.atlassian.jira.issue.fields.layout.field.FieldLayoutItemImpl;import com.atlassian.jira.issue.util.DefaultIssueChangeHolder;import com.atlassian.jira.util.ImportUtils;import com.atlassian.jira.project.version.VersionManager;import com.atlassian.jira.issue.index.IssueIndexingService;import com.atlassian.jira.event.type.EventDispatchOptionimport com.atlassian.jira.issue.link.IssueLink;import com.atlassian.jira.issue.link.IssueLinkManager;import com.atlassian.jira.issue.Issue;import com.atlassian.jira.issue.MutableIssue;import com.atlassian.jira.issue.link.IssueLink;import com.atlassian.jira.event.issue.IssueEvent;import com.atlassian.jira.component.ComponentAccessor;def issueLinkManager = ComponentAccessor.getIssueLinkManager()def epicissue = event.issue as MutableIssuedef issueManager = ComponentAccessor.getIssueManager();def versionManager = ComponentAccessor.getVersionManager();def user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()if (epicissue.getIssueType().getName() == "Epic") issueLinkManager.getOutwardLinks(epicissue.id).each { issueLink -> if (issueLink.issueLinkType.name == "Theme" && issueLink.getDestinationObject().getIssueType().name == "Theme" ) { MutableIssue issue = issueLink.getDestinationObject() as MutableIssue; def currentValue = issue.getAffectedVersions() epicissue.setAffectedVersions(currentValue); issueManager.updateIssue(user, epicissue, EventDispatchOption.ISSUE_UPDATED, false) boolean wasIndexing = ImportUtils.isIndexIssues();IssueIndexingService indexing = (IssueIndexingService) ComponentAccessor.getComponent(IssueIndexingService.class)indexing.reIndex(issue)ImportUtils.setIndexIssues(wasIndexing) } }

1 answer

1 accepted

0 votes
Answer accepted
helen levich
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 25, 2019

Unfortunately, this is not possible in our Jira 7 by the means of ScriptRunner.  

The  "IssueLinkCreated" event was introduced only Jira 7.5.  Will upgrade and then revisit. 

Suggest an answer

Log in or Sign up to answer