Hello All,
I want to write validator that check if all linked issues have one special resolution.
I have tried using "Script Validator" but I don't know how to do this.
Can anyone help me?
Greetz Nils
Using the following code you approach further
import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.issue.link.IssueLinkManager; import com.atlassian.jira.security.JiraAuthenticationContext; import com.atlassian.jira.issue.link.LinkCollection; import java.util.Collection; import com.atlassian.jira.issue.Issue;
import com.opensymphony.workflow.InvalidInputException;
IssueLinkManager ilm=ComponentAccessor.getIssueLinkManager(); JiraAuthenticationContext authContext=ComponentAccessor.getJiraAuthenticationContext(); LinkCollection lc=ilm.getLinkCollection(issue, authContext.getLoggedInUser()); Collection<Issue> issues=lc.getAllIssues();
InvalidInputException e=new InvalidInputException();
for(Issue issue: issues) { if(issue.getResolutionObject().getName().equals("<specific name>")==false){
e.addError("Resolution should be <specific name> for all linked issues"); throw e; } }
you can do more customizations like by placing all issues in a collection(which are having resolution other than your specific name) and throw as error message.
Also go through my answers in
https://answers.atlassian.com/questions/219767/form-validation#comment-219826
https://answers.atlassian.com/questions/225982/simple-script-validation#226000
Hey Nils,
You can use these tutorials here to write your own plugin validator.
http://jiradev.com/workflow-validator.html
https://www.j-tricks.com/1/post/2010/08/workflow-validator.html
If not use the script runner plugin
Your code will look something like this.
Collection<IssueLink> links = ComponentAccessor.getIssueLinkManager().getInwardLinks(issue.getId());
for(IssueLink link:links){
Issue linkedIssue = link.getSourceObject();
if(linkedIssue.getResolutionObject().getName().equals("Something")){
return false;
}
}
Cheers
Bhushan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.