Script Runner condition on links

Aron Felberbaum January 4, 2016

Need assistance on how to script a condition using script runner for when there is no linked issue of a specific issue type in a particular project.

1 answer

1 vote
Jeremy Gaudet
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.
January 4, 2016

Here is a sample of a script I wrote, it requires that there be no unresolved (outward) linked issues of type "dependency":

import com.atlassian.jira.ComponentManager;
import com.atlassian.jira.issue.link.IssueLink;
import com.atlassian.jira.issue.link.IssueLinkManager;
import com.opensymphony.workflow.InvalidInputException;

IssueLinkManager issueLinkManager = ComponentManager.getInstance().getIssueLinkManager();

Boolean hasUnresolvedLink = false;

for (IssueLink link in issueLinkManager.getOutwardLinks(issue.id)) {
	if (link.getIssueLinkType().getName()=="dependency") {
		if(link.getDestinationObject().getResolutionDate() == null) {
			hasUnresolvedLink = true;
		}
	}
}

if(hasUnresolvedLink) {
	invalidInputException = new InvalidInputException("All \"depends on the primary\" linked issues must be resolved to perform this operation.")
}

It sounds like you don't care what type of link, and so you don't need to check the linkType, and you'd want to change from getting the destination object's resolution date to IssueType, but those should be straightforward modifications.

Suggest an answer

Log in or Sign up to answer