繁体   English   中英

Jira - 某些链接类型的 Epic 验证器

[英]Jira - Epic validator for certain link types

我为 Jira Epic 工作流程编写了 groovy 脚本,该脚本仅在所有子问题都关闭时才能够关闭 Epic。

该脚本运行良好,现在我想让它仅对特定类型的链接问题有效。 “史诗中的问题”

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.link.IssueLink
import com.atlassian.jira.issue.link.IssueLinkManager
import com.opensymphony.workflow.InvalidInputException
 
// Allow logging for debug and tracking purposes
import org.apache.log4j.Level
import org.apache.log4j.Logger
 
// Script code for easy log identification
String scriptCode = "Check all issues in Epics are Done -"
 
// Setup the log and leave a message to show what we're doing
Logger logger = log
logger.setLevel( Level.ERROR )
logger.debug( "$scriptCode Triggered by $issue.key" )

def passesCondition = true
if (issue.issueType.name == 'Epic')
   {
     IssueLinkManager issueLinkManager = ComponentAccessor.issueLinkManager
     def found = issueLinkManager.getOutwardLinks(issue.id).any
       {
       it?.destinationObject?.getStatus().getName() != 'Done' &&
           it?.destinationObject?.getIssueType().getName()  != 'Epic'
       }    
       logger.debug( "$scriptCode Found =  $found " )
       if (found) {
           logger.debug( "$scriptCode return false" )
           passesCondition = false
           invalidInputException = new InvalidInputException("Please make sure all linked issues are in 'Done' status")
       } else {
           logger.debug( "$scriptCode return true" )
       passesCondition = true
       }
   }
// Always allow all other issue types to execute this transition
   else
   {
       logger.debug( "$scriptCode Not Epic return true")
       passesCondition = true
   }

上面的代码适用于所有类型的链接问题。 有谁知道如何使它仅适用于特定的链接类型?

谢谢。

您可以使用

it?.issueLinkType

闭包内。

然后你可以使用

it?.issueLinkType.inward

it?.issueLinkType.outward

获取链接类型的向内/向外名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM