I have looked here and here and here. And many other places. I cannot for the life of me figure out why this cannot read EITHER inward OR outward for this condition.
Does not work:
--- if (! issueLinkManager.getOutwardLinks(issue.getId())*.issueLinkType.name.contains('Reopen') || ! issueLinkManager.getInwardLinks(issue.getId())*.issueLinkType.name.contains('Reopen'))
Implemented in lieu:
import com.atlassian.jira.ComponentManager; import com.atlassian.jira.issue.Issue; import com.atlassian.jira.issue.CustomFieldManager; import com.atlassian.jira.issue.fields.CustomField; import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.issue.link.IssueLink; import com.atlassian.jira.issue.link.IssueLinkManager; import com.atlassian.jira.issue.IssueFieldConstants; import com.atlassian.jira.issue.fields.IssueLinksSystemField; import com.opensymphony.workflow.InvalidInputException; import webwork.action.ActionContext; def issueLinkManager = ComponentAccessor.getIssueLinkManager() def customFieldManager = ComponentAccessor.getCustomFieldManager() def fields = [] def fieldManager = ComponentAccessor.getFieldManager() def linksSystemField = fieldManager.getField("issuelinks") as IssueLinksSystemField def request = ActionContext.getRequest() if (request) { def params = request.getParameterMap() def issueLinkingValue = linksSystemField.getRelevantParams(params) as IssueLinksSystemField.IssueLinkingValue // If issue is not REOPENED LINK TYPE, make all sorts of validations if (! issueLinkManager.getOutwardLinks(issue.getId())*.issueLinkType.name.contains('Reopen') ) { fields.addAll(['BA Actual Hours', 'BA Analysis By', 'Bug Source', 'Complexity', 'Data Fix', 'Dev Estimate Hrs', 'QA Estimate Hrs', 'RCA Categories - BA', 'Release Notes', 'Stat Code Impact']) fields.each { CustomField cf = customFieldManager.getCustomFieldObjectByName(it) if (cf && !issue.getCustomFieldValue(cf)) { if (invalidInputException) invalidInputException.addError(cf.id, "Value missing!") else invalidInputException = new InvalidInputException(cf.id, "Value missing!") } } if (invalidInputException) invalidInputException.addError("The fields marked below must be filled before analysis is completed.") } else return true }
And I am sure I have a lot of unnecessary stuff in here. I'm doing the best I can
WHat I need to know is how do I make this condition pass for EITHER inward OR outward links? If I tell it either/or, then (based on how I wrote the clause) either: everything fails, inward fails, or everything passes regardless of links.
!issueLinkManager.getOutwardLinks(issue.getId())*.issueLinkType.name.contains('Reopen') && !issueLinkManager.getInwardLinks(issue.getId())*.issueLinkType.name.contains('Reopen'))
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.