独立版Jira(Groovy)如何从SQL Server获取下拉字段选项?
Jira自定义下拉字段从SQL Server加载选项(Groovy实现)
实现方案
基于Jira自定义字段扩展+Groovy脚本,直接连接SQL Server拉取数据作为下拉选项,适配独立版Jira场景。
步骤1:准备自定义字段
在Jira后台创建单选/多选下拉类型的自定义字段,记录字段ID(后续脚本需用到)。
步骤2:编写Groovy选项提供者脚本
借助ScriptRunner(独立版Jira常用扩展插件)编写脚本,负责连接SQL Server并返回下拉选项:
import groovy.sql.Sql import com.atlassian.jira.component.ComponentAccessor // 配置SQL Server连接信息 def dbConfig = [ url: "jdbc:sqlserver://你的数据库地址:1433;databaseName=你的数据库名;encrypt=true;trustServerCertificate=true", user: "数据库账号", password: "数据库密码", driver: "com.microsoft.sqlserver.jdbc.SQLServerDriver" ] // 目标自定义字段ID(替换为你创建的字段ID) def targetFieldId = 10000L ComponentAccessor.customFieldManager.getCustomFieldObject(targetFieldId) // 查询数据库生成下拉选项 def sql = Sql.newInstance(dbConfig.url, dbConfig.user, dbConfig.password, dbConfig.driver) def dropdownOptions = [] try { // 替换为你的实际查询语句,确保返回value(选项值)和label(显示文本)两列 sql.eachRow("SELECT option_id AS value, option_name AS label FROM 你的选项表") { row -> dropdownOptions << [value: row.value.toString(), label: row.label] } } finally { sql.close() // 务必关闭数据库连接 } return dropdownOptions
步骤3:关联脚本到自定义字段
在ScriptRunner的「Custom Field Scripts」模块中,找到你创建的下拉字段,将上述脚本设置为它的Option Provider(选项提供者)。
关键注意事项
- 下载SQL Server JDBC驱动包(
mssql-jdbc-*.jar),放到Jira安装目录的WEB-INF/lib下,重启Jira生效。 - 确保Jira服务器能访问SQL Server的端口(默认1433),数据库账号仅需配置只读权限,避免安全风险。
- 若遇连接加密报错,调整
encrypt和trustServerCertificate参数适配你的SQL Server配置。
验证
打开任意Jira任务,查看该自定义字段的下拉选项是否正确加载SQL Server中的数据。
内容的提问来源于stack exchange,提问作者Tutul Ckul
相关产品推荐
相关产品推荐

