Script Validator: Linked Issue required in certain Status

David Friedrich
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.
August 29, 2017

Hi,

again I have a Scriptrunner Question.

JIRA 6.3 (I think this is important, scince there are diffrences between 6.x and 7.x)
Scriptrunner 3.1.4

There is a checklist 'Liefertreuerelevanz'. If the user chose option 'Ja', there must be exactly one linked issue of issuetype 'Liefertreue KPI' in Status 'Closed' to carry out the transition.

Thanks for your help!

1 answer

0 votes
rahuldanwade
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.
August 29, 2017

Hi David,

 

You can try below script by configuring scripted validator on the transition.

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.MutableIssue
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue;
import com.opensymphony.workflow.InvalidInputException;

Issue issue = issue String resolution = issue.getResolution().getName()
IssueLinkManager issueLinkManager = ComponentAccessor.getIssueLinkManager()
CustomFieldManager cfm = ComponentAccessor.getCustomFieldManager()
CsutomField liefertreuerelevanz = cfm.getCustomFieldByName("CUSTOMFIELD_NAME")
String checkListValue = liefertreuerelevanz.getValue(issue).toString()
boolean outward = issueLinkManager.getOutwardLinks(issue.getId())*.issueLinkType.name.contains('Liefertreue KPI')
boolean inward = issueLinkManager.getInwardLinks(issue.getId())*.issueLinkType.name.contains('Liefertreue KPI')

if(checkListValue == "Ja"){
if((outward || inward) && issue.getStatus().getName() == "Closed"{
return true
}else{
throw new InvalidInputException("Can not execute transition when status is Closed linked issue isn't Liefertreue KPI")
}

Let me know if you face any issue.

 

Thanks

Rahul 

David Friedrich
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.
August 30, 2017

Hi Rahul,

Thank you very much. But unfortunatly the validator doesn't work. I tried this in a ticket with liefertreuerelevanz = Ja but with no linked issue. The transition was carried out.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events