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

Jira Scriptrunner Groovy传入接口实现类触发MissingMethodException问题

问题根因

你触发报错的核心原因并非参数类型不匹配,而是调用方法的方式错误:getRemoteIssueLinksForIssue是DefaultRemoteIssueLinkManager的实例方法,不是静态方法,你直接用类名以静态方式调用,自然找不到对应的方法签名,报错信息里的static com.atlassian.jira.issue.link.DefaultRemoteIssueLinkManager.getRemoteIssueLinksForIssue()已经明确标注了你当前调用的是静态方法路径。
你之前尝试的所有参数转型操作都无法解决问题,因为问题根源和参数类型无关,报错里的参数类型提示只是Groovy匹配失败后给出的参考信息,属于误导性提示。

正确解决方案

Jira的组件都由OSGi容器统一管理,不要直接调用实现类的静态方法,也不要手动实例化实现类,通过官方的组件获取工具调用即可:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.link.RemoteIssueLinkManager

// 直接获取接口对应的组件实例,不需要引用实现类
def remoteIssueLinkManager = ComponentAccessor.getComponent(RemoteIssueLinkManager)
def remoteLink = remoteIssueLinkManager.getRemoteIssueLinksForIssue(issue)

如果是Scriptrunner的内置脚本场景,也可以通过@PluginModule注解直接注入RemoteIssueLinkManager实例,不需要手动调用ComponentAccessor。

内容的提问来源于stack exchange,提问作者samthegolden

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:54:00