如果问题在 jira 中没有组件,则抛出错误

问题描述 投票:0回答:1

我正在实现一个带有 REST 端点的片段,如果问题没有任何组件,我想显示错误。该按钮称为“MounaGenerate”,这是我对下面片段的实现:

这是我的 REST 端点的实现:

package SuperFeature

import groovy.transform.BaseScript

import com.atlassian.jira.issue.Issue;

import javax.ws.rs.core.Response

import org.apache.log4j.Logger

import groovy.transform.BaseScript

import com.onresolve.scriptrunner.runner.rest.common.CustomEndpointDelegate

import javax.ws.rs.core.MultivaluedMap

import com.atlassian.jira.component.ComponentAccessor

import javax.ws.rs.core.Response

import com.opensymphony.workflow.WorkflowException

@BaseScript CustomEndpointDelegate delegate

mounaGenerate(httpMethod: "GET", groups: ["jira-users"]) {

            def log = Logger.getLogger("atlassian-jira.log")

           

              def components = issue.components

              log.warn("MOUNA COMPONENTS "+components)

              if(components.empty) {

                      log.warn("MOUNA EMPTY")

                        throw new WorkflowException("Issue does not have components")

              }

}

我的日志中出现以下错误:

2023-09-05 14:30:09,456+0200 https-openssl-nio-443-exec-6 错误 mouh 870x1330103x2 1ic193i 10.250.160.111 /rest/scriptrunner/latest/custom/mounaGenerate [c.o.s.r.rest.com mon.UserCustomScriptEndpoint]脚本端点在方法上失败:GET mounaGenerate 2023-09-05 14:30:09,456+0200 https-openssl-nio-443-exec-6 错误 mouh 870x1330103x2 1ic193i 10.250.160.111 /rest/scriptrunner/latest/custom/mounaGenerate [c.o.s.r.rest.common.UserCustomScriptEnd点]

理想情况下,我希望显示一个如下所示的新页面,表明存在错误,因为该问题没有任何组件:

我该怎么做?

groovy jira atlassian-sourcetree atlassian-plugin-sdk
1个回答
0
投票

这是适当的代码,需要以不同的方式访问问题对象

package SuperFeature 

import groovy.transform.BaseScript
import com.atlassian.jira.issue.Issue;
import javax.ws.rs.core.Response
import org.apache.log4j.Logger
import groovy.transform.BaseScript
import com.onresolve.scriptrunner.runner.rest.common.CustomEndpointDelegate
import javax.ws.rs.core.MultivaluedMap
import com.atlassian.jira.component.ComponentAccessor
import javax.ws.rs.core.Response
import com.opensymphony.workflow.WorkflowException

@BaseScript CustomEndpointDelegate delegate

mounaGenerate(httpMethod: "GET", groups: ["jira-users"]) 
{
          MultivaluedMap queryParams, String body ->
         def log1 = Logger.getLogger("atlassian-jira.log")
          def issueId = queryParams.getFirst("issueId") as Long

            Issue myissue = ComponentAccessor.getIssueManager().getIssueObject(issueId)
            def issueKey = myissue.getKey()           
            def componentNames = myissue.getComponents()*.name

          log1.warn("MOUNA componentNames "+componentNames)


              if(componentNames.empty) {

                      log.warn("MOUNA EMPTY")

                        throw new WorkflowException("Issue does not have components")

              }else{
                          log1.warn("MOUNA componentNames NOT EMPTY")

              }
}
© www.soinside.com 2019 - 2024. All rights reserved.