Story:
"As a user i will get an Information that an issue already exists when i create a new issue and enter the material number in a custom field"
I thought that i can solve this via script in the behaviour plug-in, this is my attempt but it does not work:
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.bc.issue.search.SearchService;
import com.atlassian.jira.web.bean.PagerFilter;
import org.apache.log4j.Logger;
import org.apache.log4j.Category;
// Create Log for Level DEBUG
def Category log = Category.getInstance("com.onresolve.jira.groovy");
log.setLevel(org.apache.log4j.Level.DEBUG);
// Get Information about Material No
def material = getFieldById(getFieldChanged())
// Search for issues with same Material No
String jql = 'project = MAT AND resolution = Unresolved AND Material IN ("' + material + '")';
// Get a search-Object
SearchService searchService = ComponentAccessor.getComponent(SearchService.class);
// For JIRA 7.X must be ApplicationUser, doesn't work in 6.X
def user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
List<Issue>issues = null;
SearchService.ParseResult parseResult = searchService.parseQuery(user, jql);
if (parseResult.isValid()) {
issues = searchService.search(user, parseResult.getQuery(), PagerFilter.getUnlimitedFilter()).getIssues();
} else {
// JQL couldn't be parsed, show Error
log.debug("Invalid JQL: " + jql);
material.setHelpText("Invalid JQL: " + jql);
}
// Check for other Issues
if(issues.size()>=1){
// We have another Issue
issues.each{
// For Debugging Purposes log the Issue Key of the other issues
log.debug("Other Issue (" + it.getKey() + ") dealing with same Material!");
material.setHelpText ("Issue is duplicated by (" + it.getKey() + ")")
}
}
Is this apporach wrong? Does anyone have a solution?
Buying another plugin is no solution ;-)
Hello,
Could you give more infromation on the error. What exactly does not work?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.