/src/test/resources/examples/BlockedOnScriptedField.groovy
Groovy | 49 lines | 40 code | 8 blank | 1 comment | 6 complexity | 02d6547c3021ecbee138d1216f448779 MD5 | raw file
- package examples
-
- import com.atlassian.jira.ComponentManager
- import groovy.xml.MarkupBuilder
- import com.atlassian.jira.issue.Issue
- import com.atlassian.jira.ManagerFactory
- import com.atlassian.jira.config.properties.APKeys
-
- def componentManager = ComponentManager.getInstance()
- def issueLinkManager = componentManager.getIssueLinkManager()
- def baseUrl = ManagerFactory.getApplicationProperties().getString(APKeys.JIRA_BASEURL)
-
- // def issue = componentManager.getIssueManager().getIssueObject("JRA-1056")
- def List<Issue> blockingIssues = []
-
- issueLinkManager.getOutwardLinks(issue.id).each {issueLink ->
- if (issueLink.issueLinkType.name == "Depends") {
- def linkedIssue = issueLink.destinationObject
- if (!linkedIssue.assigneeId && !linkedIssue.resolution) {
- blockingIssues.add(linkedIssue)
- }
- }
- }
-
- if (blockingIssues) {
- StringWriter writer = new StringWriter()
- MarkupBuilder builder = new MarkupBuilder(writer)
-
- builder.div (class:"aui-message error shadowed") {
- p (class: "title") {
- span (class: "aui-icon icon-error", "")
- strong ("This issue is dependent on the following unresolved, unassigned issue(s):")
- }
-
- ul {
- blockingIssues.each {anIssue ->
- li {
- a(href:"$baseUrl/browse/${anIssue.key}", anIssue.key)
- i(": ${anIssue.summary} (${anIssue.statusObject.name})")
- }
- }
- }
- }
-
- return writer
- }
- else {
- return null
- }