how to set Issue Links direction to Inward for a specific Link Type(i,e Cloners) created using createIssueLink().
The below is my groovy script code, where I am cloning issues and creating Issue links from parent JIRA issue (i,e from which I have cloned the issues) to Cloned Issues.
But it's creating "clones" outward direction link from parent issue to cloned issues. But I would like to create "is cloned by" Inward direction link from parent issue to cloned issues. Please suggest how to achieve this.
selectedComponents?.each { LazyLoadedOption it -> def issueFactory = ComponentAccessor.getIssueFactory() def issueManager = ComponentAccessor.getIssueManager() def newIssue = issueFactory.cloneIssue(issue) newIssue.setSummary("CLONE - $issue.summary") newIssue.setProjectId(issue.projectId) newIssue.setDescription(issue.description) newIssue.setAssigneeId("Unassigned") Map<String,Object> newIssueParams = ["issue":newIssue] as Map<String,Object> issueManager.createIssueObject(currentUser, newIssueParams) IssueLinkManager linkManager = ComponentManager.getInstance().getIssueLinkManager() Collection<IssueLinkType> issueLinkTypes1=ComponentAccessor.getComponentOfType(IssueLinkTypeManager.class).getIssueLinkTypes(); String linkID=null; for (IssueLinkType linktype : issueLinkTypes1) { String name=linktype.getName(); log.warn("Issue Link Type Name : " + name); String id=linktype.getId(); log.warn("Issue Link Type Id : " + id); if(name.equals("Cloners")){// change link name here linkID=linktype.getId(); break; } }//for end log.warn("Issue Link Types : " + IssueLinkType) linkManager.createIssueLink(issue.getId(), newIssue.getId(), Long.parseLong(linkID),Long.valueOf(0), currentUser); }//each end
You should to change 2 first params for linkManager.createIssueLink(source, destination, ... )
Here is updated code
selectedComponents?.each { LazyLoadedOption it -> def issueFactory = ComponentAccessor.getIssueFactory() def issueManager = ComponentAccessor.getIssueManager() def newIssue = issueFactory.cloneIssue(issue) newIssue.setSummary("CLONE - $issue.summary") newIssue.setProjectId(issue.projectId) newIssue.setDescription(issue.description) newIssue.setAssigneeId("Unassigned") Map<String,Object> newIssueParams = ["issue":newIssue] as Map<String,Object> issueManager.createIssueObject(currentUser, newIssueParams) IssueLinkManager linkManager = ComponentManager.getInstance().getIssueLinkManager() Collection<IssueLinkType> issueLinkTypes1=ComponentAccessor.getComponentOfType(IssueLinkTypeManager.class).getIssueLinkTypes(); String linkID=null; for (IssueLinkType linktype : issueLinkTypes1) { String name=linktype.getName(); log.warn("Issue Link Type Name : " + name); String id=linktype.getId(); log.warn("Issue Link Type Id : " + id); if(name.equals("Cloners")){// change link name here linkID=linktype.getId(); break; } }//for end log.warn("Issue Link Types : " + IssueLinkType) linkManager.createIssueLink( newIssue.getId(), issue.getId(), Long.parseLong(linkID),Long.valueOf(0), currentUser); }//each end
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.