Jira脚本编辑器跨文件调用函数获取常量值失败求助
解决方案:Jira脚本跨文件调用Groovy类问题
问题核心分析
你的导入失败、无法获取配置值,主要原因是配置类缺少包声明,且静态方法调用方式冗余。Jira脚本环境(如ScriptRunner)依赖包结构识别类,同时静态方法无需实例化即可调用。
步骤1:修正配置类的包结构
给Configuration_CreateMultipleSubtasks.groovy添加与目录匹配的包声明,确保类能被正确识别:
package CreateMultipleSubtasks class Configuration_CreateMultipleSubtasks { static def getSubTaskCreatorHashMap(){ def map = [ itracCreatemultiplesubtasksIssueTypesId:5, itracCreatemultiplesubtasksProjectCategoriesID: [10011, 10200, 10220, 10230, 10240, 10670, 10170, 11170, 11270, 11870, 11871, 11872, 11873, 11874, 11875, 12470], itracCreatemultiplesubtasksProjectCategoriesURL: "http://itrac-sustservice.eur.ad.sag:5555/web/subtaskmgr/Login.jsp?iTrac=:1:&reporter=:2:", projectKey: "PIE", issueTypeName: "Defect" ] return map } }
步骤2:修正条件脚本的调用逻辑
删除冗余的类实例化,直接通过类名调用静态方法,同时替换硬编码值为配置类中的常量:
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.security.plugin.ProjectPermissionKey import com.atlassian.jira.plugin.webfragment.model.JiraHelper import CreateMultipleSubtasks.Configuration_CreateMultipleSubtasks import com.atlassian.jira.project.Project import org.apache.log4j.Logger def log = Logger.getLogger("atlassian-jira.log") // 静态方法直接调用,无需创建类实例 def subTaskCreatorHashMap = Configuration_CreateMultipleSubtasks.getSubTaskCreatorHashMap() String projectKey1 = subTaskCreatorHashMap["projectKey"] String issueTypeName1 = subTaskCreatorHashMap["issueTypeName"] // 使用配置类中的值判断,避免硬编码 def val = jiraHelper.project?.key == projectKey1 && issue.issueType.name == issueTypeName1 log.warn("MOUNA CONDITION CHECK - projectKey: ${projectKey1}, issueTypeName: ${issueTypeName1}, result: ${val}") return val
备用方案:手动加载类(若仍存在类加载问题)
如果脚本环境仍无法识别包结构,可通过类加载器手动加载配置类:
// 替换原导入语句,手动加载类 def configClass = this.class.classLoader.loadClass("CreateMultipleSubtasks.Configuration_CreateMultipleSubtasks") def subTaskCreatorHashMap = configClass.getSubTaskCreatorHashMap()
关键注意事项
- 确保两个脚本文件处于同一
CreateMultipleSubtasks目录下 - Groovy对类名、方法名大小写敏感,检查拼写一致性
- 静态方法无需实例化,直接通过类名调用即可减少资源消耗
内容的提问来源于stack exchange,提问作者منى
相关产品推荐
相关产品推荐

