背景:
jira 8.16
想要为问题类型为 需求 的问题默认增加描述字段默认值
想都没想直接根据之前添加缺陷类型时描述默认值的方式去添加(系统字段--描述--上下文和默认值--添加上下文), 结果不随我愿, 系统默认的这个功能不能根据问题类型切换而切换不同的默认值, 只能设置 1 个, 这....有种半智能的感觉, 只能寻求其他方法
实现方式:
借助 ScriptRunner
在 ScriptRunner 中 添加行为 (Behaviours)
步骤:
Create Behaviour --> 填写Name --> 在 Mappings 中添加项目 --> Add Fields --> 选择 问题类型 --> 添加 server-side script --> 保存
// 问题类型 ID → 模板内容映射
def templates = ["10200": """【场景(现状)描述】:[描述目前现场业务场景,内容包括(业务流程图、流程图说明、现场图片)]【需求痛点】:[基于目前业务场景,在管理上了遇到的具体什么问题,内容包括(描述具体的业务文档点,可以需要解决什么问题,解决问题背后的目的)]【解决方案】:[为了解决需求痛点,业务流程图作业哪些调整(调整后的流程图、流程图说明、包括系统功能操作人角色说明),原型图、原型图说明(业务逻辑说明)]【风险提醒】:/;【投入人天】:方案X人天,开发X人天,测试X人天,实施X人天,共计X人天
""","10004": """【环境】:SIT / UAT / 生产【出现概率】:100%【用例ID】:【前置条件】:/;【操作步骤】:/;【问题说明】:/,见下图;【期望结果】:/;
"""
]def descField = getFieldById("description")
def issueTypeId = getFieldById("issuetype").getValue()?.toString()// 仅当描述为空时才填充模板
if (!descField.getValue()) {def template = templates[issueTypeId]if (template) {descField.setFormValue(template)} else {descField.setFormValue("")}
}
效果:
坑点:
不同的版本或者环境, 脚本中判断条件的部分可能不同, 需要根据自己的实际情况修改判断条件
tip: 可以使用 为字段设置描述的方式来将判断条件的值输出出来调试
def issueTypeValue = getFieldById("issuetype").getValue()getFieldById("description").setHelpText("DEBUG: " + issueTypeValue?.toString())