Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.atlassian.jira.component.ComponentAccessor
- import com.atlassian.jira.issue.MutableIssue
- import com.atlassian.jira.event.type.EventDispatchOption
- import com.atlassian.jira.issue.CustomFieldManager
- import com.atlassian.jira.issue.fields.CustomField
- import com.atlassian.jira.bc.issue.search.SearchService
- import com.atlassian.jira.web.bean.PagerFilter
- import org.apache.log4j.Category
- // Logs
- Category log = log
- log.setLevel(org.apache.log4j.Level.DEBUG)
- // Manager
- CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()
- def issueManager = ComponentAccessor.getIssueManager()
- def currentKey = issue.getKey()
- // Constants
- List<MutableIssue> listIssue = new ArrayList<MutableIssue>()
- def user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
- SearchService searchService = ComponentAccessor.getComponent(SearchService.class)
- def jqlSearch = "issueFunction in parentsOf('issuekey = " + currentKey + "')"
- SearchService.ParseResult parseResult = searchService.parseQuery(user, jqlSearch)
- // Treatment
- if (parseResult.isValid()) {
- def searchResult = searchService.search(user, parseResult.getQuery(), PagerFilter.getUnlimitedFilter())
- def jqlIssue = searchResult.issues.collect {issueManager.getIssueObject(it.id)}
- for(MutableIssue issueSearch : jqlIssue){
- log.debug("issue: " + issueSearch.getKey())
- String currentIssue = issueSearch
- listIssue.add(issueSearch)
- }
- }
- else {
- log.error("Invalid JQL: " + jqlSearch)
- }
- def actionPlan = listIssue[0]
- // Constants
- List<MutableIssue> listIssueTopRisk = new ArrayList<MutableIssue>()
- def jqlSearchTopRisk = "issue in linkedissues(" + actionPlan + ")"
- SearchService.ParseResult parseResultTopRisk = searchService.parseQuery(user, jqlSearchTopRisk)
- // Treatment
- if (parseResult.isValid()) {
- def searchResult = searchService.search(user, parseResultTopRisk.getQuery(), PagerFilter.getUnlimitedFilter())
- def jqlIssue = searchResult.issues.collect {issueManager.getIssueObject(it.id)}
- for(MutableIssue issueSearch : jqlIssue){
- log.debug("issue: " + issueSearch.getKey())
- String currentIssue = issueSearch
- listIssueTopRisk.add(issueSearch)
- }
- }
- else {
- log.error("Invalid JQL: " + jqlSearch)
- }
- def topRisk = listIssueTopRisk[0]
- def topRiskAddress = "<a href=\"http://localhost:8080/browse/" + topRisk + "\">" + topRisk + "</a>"
- def summary = topRisk.getSummary()
- def avatar = "<img src='/secure/viewavatar?size=xsmall&avatarId=10304&avatarType=issuetype'/>"
- def toRet = ""
- toRet = avatar + " " + topRiskAddress + " " + summary
- return toRet
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement