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

如何使用Scriptrunner修改JIRA DC v9.x自定义字段上下文名称?

如何修改JIRA Data Center v9.x自定义字段上下文名称(ScriptRunner实现)

环境

JIRA Data Center v9.x

问题说明

已通过ScriptRunner实现获取自定义字段上下文名称,代码如下:

CustomField cField = customFieldManager.getCustomFieldObject(customFieldId)
List<FieldConfigScheme> contexts = cField.getConfigurationSchemes() 
if ( contexts.size() == 1 ){
    FieldConfigScheme tmpContext = contexts[0]
    log.warn("tmpContext :: ${tmpContext.name}")
}

但FieldConfigScheme类未提供set方法,无法直接修改上下文名称,此前未找到可行解决办法。

解决方案

最终找到可用的实现脚本,逻辑为遍历所有自定义字段,筛选出名称包含指定关键词的上下文,通过SchemeBuilder构建更新后的配置方案,再调用fieldConfigSchemeManager完成修改:

def allCFIDs = customFieldManager.getCustomFieldObjects().collect({return it.getId()})
allCFIDs.each { customFieldId ->
    CustomField cField = 
        customFieldManager.getCustomFieldObject(customFieldId)
    List<FieldConfigScheme> contexts = cField.getConfigurationSchemes() 
    FieldConfigScheme tmpContext = contexts[0]
    if ( tmpContext.name.contains("Fred") ){
        def newname = tmpContext.name + " Flintstone"
        log.warn("Rename Context:: ${tmpContext.name}    to ::  ${newname}")
        def schemeData = new SchemeBuilder( tmpContext )
        schemeData.setName( newname )
        def updatedScheme = schemeData.toFieldConfigScheme()
        fieldConfigSchemeManager.updateFieldConfigScheme( updatedScheme )
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 00:10:52