Im trying to read the linked issues of a specific issue. But the script is only reading the epic link issue.
PA-2000 have a linked issue OB-1111 also have and epic Link = OB-50
I want to make a transition on OB-1111 but the script never read it. the script only reads the epic link OB-50
following my code.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.issuetype.IssueType
import com.atlassian.jira.issue.IssueInputParameters
import com.atlassian.jira.bc.issue.*
import static com.atlassian.jira.workflow.TransitionOptions.Builder;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.issue.link.IssueLinkManager
import com.atlassian.jira.issue.link.IssueLink
MutableIssue issue = ComponentAccessor.getIssueManager().getIssueObject("PA-2000");
IssueLinkManager issueLinkManager = ComponentAccessor.getIssueLinkManager();
for (IssueLink issueLink in issueLinkManager.getInwardLinks(issue.id)) {
MutableIssue linkedIssue = (MutableIssue) issueLink.getSourceObject();
log.warn(linkedIssue.key)
log.warn(linkedIssue.getIssueType().getName())
if (issueLink.issueLinkType.name == "blocks" && linkedIssue.getProjectObject().getKey().contains("OSP") && linkedIssue.getStatus().getName().contains("In Research")){
log.warn("OK ")
if (linkedIssue.getIssueType().getName() != "Epic"){
log.warn("IS NOT EPIC")
IssueInputParameters issueInputParameters = ComponentAccessor.getIssueService().newIssueInputParameters();
com.atlassian.jira.workflow.TransitionOptions trasitionOptions = new Builder().skipPermissions().skipValidators().setAutomaticTransition().skipConditions().build();
IssueService issueService = ComponentAccessor.getIssueService();
int actionId = 921;
IssueService.TransitionValidationResult transitionValidationResult = issueService.validateTransition(issue.getReporterUser(), linkedIssue.getId(), actionId, issueInputParameters, trasitionOptions);
IssueService.IssueResult transitionResult
if (transitionValidationResult.isValid()) {
transitionResult = issueService.transition(issue.getReporterUser(), transitionValidationResult);
}else if (!transitionValidationResult.isValid()) {
log.error("ERROR: " + transitionValidationResult.getErrorCollection());
}
}
}