Jira Scriptrunner行为:当我选择特定单选按钮选项时,如何使自定义字段成为必需字段?

Jira Scriptrunner行为:当我选择特定单选按钮选项时,如何使自定义字段成为必需字段?,jira,jira-plugin,jira-integration,automation-for-jira,Jira,Jira Plugin,Jira Integration,Automation For Jira,版本-Jira v8.5.1的行为 几个月来,我一直在使用Beavhiours脚本,并取得了巨大成功。它当前根据用户选择(列表、级联列表、复选框)显示/隐藏各种字段。我想根据单选按钮的值调整文本字段的必需/可选条件 IS:当我选择正确的单选按钮时,文本字段所需状态未更改 应为:当我选择特定单选按钮时,文本字段应为必填字段 目标:使用Adadavist行为使textField成为必需的,当两者都为1时。一个单选按钮(无线电场)和2。级联列表(listField)满足特定的选择条件 以下是我在行为“

版本-Jira v8.5.1的行为

几个月来,我一直在使用Beavhiours脚本,并取得了巨大成功。它当前根据用户选择(列表、级联列表、复选框)显示/隐藏各种字段。我想根据单选按钮的值调整文本字段的必需/可选条件

IS:当我选择正确的单选按钮时,文本字段所需状态未更改 应为:当我选择特定单选按钮时,文本字段应为必填字段

目标:使用Adadavist行为使textField成为必需的,当两者都为1时。一个单选按钮(无线电场)和2。级联列表(listField)满足特定的选择条件

以下是我在行为“字段”中的示例代码:

除了使文本字段成为必需字段外,此代码有效。我可以通过以下步骤将文本字段设置为必填字段:

  • 将listString设置为“[Parent1,Child2]”
  • 将radioString设置为“单选选项”
  • 将列表字符串设置为“[Parent1,Child1]” 在本例中,我们选择一个列表选项,该选项显示单选按钮字段,但不满足使文本字段成为必需字段的条件(“[Parent1,Child2]”)。然后我们可以将单选按钮设置为正确的选项。然后将列表选项设置为满足第二个条件的选项,即将文本字段设置为必需(“[Parent1,Child1]”)
  • 鉴于这种行为,似乎只有当我更改列表字段选择时,单选按钮字段值才会更新。但它不应该独立于我的列表选择吗

    其他信息: 更改选择时,我的任何单选按钮都不会更新其值。我通过在单选按钮值上使用log.warn,然后检查内置脚本“查看服务器日志文件”的“atlassian-jira.log”最后几行中的打印语句来确定这一点。单选按钮保持默认状态

    // set pointers to custom fields (list, radio button, and text)
    def listField = getFieldByName ("My List")
    def radioField = getFieldByName ("My Radio")
    def textField = getFieldByName ("My Text")
    
    // get cascading list value (parent and child)
    String listString = listField.getValue()
    // if cascading list matches one of two selections, show the radio button field
    if ((listString == "[Parent1, Child1]") || (listString == "[Parent1, Child2]")) {
        radioField.setHidden(false)
    } // otherwise, hide the radio button field
    else {
        radioField.setHidden(true)
    }
    // get the value of the radio button field
    String radioString = radioField.getValue()
    // if both the cascading list and radio button value match specific values, make the text field required
    if ((listString == "[Parent1, Child1]") && (radioString == "Radio Option")) {
        textField.setRequired(true)
    }
    // in all other cases, make the text field optional
    else {
        textField.setRequired(false)
    }