需求描述:某JIRA项目创建JIRA单时,当界面上某字段为特定值时,另一个相关字段显现,并为必填。如当界面上“故障原因分类"为"其他"时,界面上出现字段“其他故障原因说明”,并设置为必填;当界面上“故障原因分类"为非"其他"选项时,界面上不出现字段“其他故障原因说明”。
实现方案:利用scriptrunner的behaviours来实现,具体操作如下。
点击JIRA页面右上角“管理”,选择“scriptrunner”,窗口中选择“behaviours”,“create behaviours”.
“mappings”里面,选择需要处理的jira项目和对应的问题类型,如"JIRA_project_1", issuetype为"Story";“Add Field”里面选择关联的源字段,如需求示例中的“故障原因分类”,点击“create script”,出现脚本框,根据实际需求编写脚本,以下为示例代码供参考:
def otherBugCauseTypeDescription=getFieldByName("其他故障原因说明")
//如果字段名称有重复,用下面的字段ID。
//def otherBugCauseTypeDescription= getFieldById("customfield_6666");
def bugCauseType= getFieldById(getFieldChanged())
def selectedOption = bugCauseType.getValue() as String
def isOther = selectedOption == "其他"
otherBugCauseTypeDescription.setHidden(!isOther )
otherBugCauseTypeDescription.setRequired(isOther )
ID的获取方法:进入“jira管理”,“问题”,在“自定义字段”、、中,找到目标字段,“编辑”,在页面的url最后部分就是该字段的ID,如:https://test_jira.test.com/secure/admin/EditCustomField!default.jspa?id=10461.
参考资料: