You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JIRA DataCenter自定义REST端点与Web Fragment报错求助

Jira ScriptRunner自定义REST端点关联Web Fragment时脚本执行错误

错误提示

script function failed on issue: issue: SF-347, user: mouh, fieldId: __init__, file: <inline script>, edit behaviour: https://itrac-dev.eur.ad.sag/plugins/servlet/scriptrunner/admin/behaviours/edit/8, https://itrac-dev.eur.ad.sag/plugins/servlet/scriptrunner/admin/behaviours/edit/17, https://itrac-dev.eur.ad.sag/plugins/servlet/scriptrunner/admin/behaviours/edit/21

错误日志

2022-08-16 20:39:37,512+0200 https-openssl-nio-443-exec-278 ERROR mouh 1239x60320x27 mu7qce 10.248.27.109 /rest/scriptrunner/behaviours/latest/validators.json [c.o.jira.behaviours.BehaviourManagerImpl] Script function failed on issue: issue: SF-347, user: mouh, fieldId: __init__, file: <inline script>, edit behaviour: https://itrac-dev.eur.ad.sag/plugins/servlet/scriptrunner/admin/behaviours/edit/8, https://itrac-dev.eur.ad.sag/plugins/servlet/scriptrunner/admin/behaviours/edit/17, https://itrac-dev.eur.ad.sag/plugins/servlet/scriptrunner/admin/behaviours/edit/21
2022-08-16 20:39:36,371+0200 https-openssl-nio-443-exec-278 WARN mouh 1239x60311x26 mu7qce 10.248.27.109 /browse/SF-347 [c.s.j.p.r.rest.api.MicroDashBoard] getiTracReleaseInfo for user "mouh" took 0 ms
2022-08-16 20:39:36,371+0200 https-openssl-nio-443-exec-278 WARN mouh 1239x60311x26 mu7qce 10.248.27.109 /browse/SF-347 [c.s.j.p.r.rest.api.MicroDashBoard] getiTracReleaseInfo for user "mouh" - "green" -0
2022-08-16 20:39:36,371+0200 https-openssl-nio-443-exec-278 WARN mouh 1239x60311x26 mu7qce 10.248.27.109 /browse/SF-347 [c.s.j.p.r.rest.api.MicroDashBoard] getiTracReleaseInfo for user "mouh" took 0 ms
2022-08-16 20:39:36,371+0200 https-openssl-nio-443-exec-278 WARN mouh 1239x60311x26 mu7qce 10.248.27.109 /browse/SF-347 [c.s.j.p.r.rest.api.MicroDashBoard] getiTracReleaseInfo for user "mouh" - "yellow" -0
2022-08-16 20:39:36,371+0200 https-openssl-nio-443-exec-278 WARN mouh 1239x60311x26 mu7qce 10.248.27.109 /browse/SF-347 [c.s.j.p.r.rest.api.MicroDashBoard] getiTracReleaseInfo for user "mouh" took 0 ms
2022-08-16 20:39:36,371+0200 https-openssl-nio-443-exec-278 WARN mouh 1239x60311x26 mu7qce 10.248.27.109 /browse/SF-347 [c.s.j.p.r.rest.api.MicroDashBoard] getiTracReleaseInfo for user "mouh" - "red" -0

配置与代码情况

  • 创建了自定义Web Item Fragment
  • 创建对应REST端点,指定MounaBulkSummary.groovy作为代码文件
  • 代码内容:
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 com.onresolve.scriptrunner.runner.ScriptRunnerImpl

import com.atlassian.sal.api.ApplicationProperties

import com.atlassian.sal.api.UrlMode

import javax.ws.rs.core.Response

import org.apache.log4j.Logger

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

    log.warn("MOUNA BULK")

@BaseScript CustomEndpointDelegate delegate

MounaBulkSummary(httpMethod: "GET") { MultivaluedMap queryParams ->

    log.warn("MOUNA BULK")

    def user = ComponentAccessor.jiraAuthenticationContext?.loggedInUser

    def issue = ComponentAccessor.getIssueManager().getIssueObject(queryParams.getFirst("issueId") as Long)

    def baseUrl = ScriptRunnerImpl.getOsgiService(ApplicationProperties).getBaseUrl(UrlMode.ABSOLUTE)

    def redirectUrl = "https://secapps.eur.ad.sag:9888/FPIA/?iTrac=${issue.key}&reporter=${user.key}&baseURL=${baseUrl}"

    Response.temporaryRedirect(URI.create(redirectUrl)).build()

}

错误排查关键点

  1. 日志初始化错误:代码中def log = Logger.warn("atlassian-jira.log")是错误用法,Logger.warn是日志输出方法,不能用来获取Logger实例。正确写法应为def log = Logger.getLogger("MounaBulkSummary")或Logger.getLogger(this.class),这行错误代码会直接抛出异常导致脚本执行失败。
  2. 请求路径异常:错误日志显示请求路径为/rest/scriptrunner/behaviours/latest/validators.json,说明错误来自Behaviour验证脚本,而非自定义REST端点。需要检查链接中对应的8、17、21这几个Behaviour脚本,排查是否存在脚本错误,或Web Fragment配置是否错误触发了Behaviour验证。
  3. 空值未处理:queryParams.getFirst("issueId")可能为空,直接转Long会抛出异常;user和issue也可能为空,后续调用user.key或issue.key会触发空指针异常。
  4. 端点配置校验:确认Web Fragment的链接是否正确指向自定义REST端点,参数传递是否正确(比如是否正确传递issueId参数)。

内容的提问来源于stack exchange,提问作者منى

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 20:51:18