Groovy 如何根据其他几个单选按钮选择的条件设置单选按钮值?

Groovy 如何根据其他几个单选按钮选择的条件设置单选按钮值?,groovy,jira,Groovy,Jira,在完成脚本时只需要一点指导,我需要收集几个单选按钮字段的值,并执行if/then条件来确定另一个字段的默认单选按钮值。这就是我目前所知道的,这是正确的方法吗?我错过了什么?这是一个在ScriptRunner中使用Groovy的自定义字段脚本 import com.atlassian.jira.issue.IssueManager import com.atlassian.jira.issue.Issue; import com.atlassian.jira.issue.fields.Custom

在完成脚本时只需要一点指导,我需要收集几个单选按钮字段的值,并执行if/then条件来确定另一个字段的默认单选按钮值。这就是我目前所知道的,这是正确的方法吗?我错过了什么?这是一个在ScriptRunner中使用Groovy的自定义字段脚本

import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.MutableIssue;

//managers
def customFieldManager = ComponentAccessor.getCustomFieldManager()
IssueManager issueManager = ComponentAccessor.getIssueManager();

//gather the fields needed
def field1 = CustomFieldManager.getCustomFieldObjectByName("Field 1")
def field2 = CustomFieldManager.getCustomFieldObjectByName("Field 2")

//gather the values of the fields
def field1Value = issue.getCustomFieldValue(Field1).getValue()
def field2Value = issue.getCustomFieldValue(Field2).getValue()
if (field1Value == "Agree" && field2Value == "Agree"){
    def field3 = customFieldManager.getCustomFieldObjectByName("Field 3")
    issue.setCustomFieldValue(field3, "Agree")
} else {
    issue.setCustomFieldValue(field3, "Disagree")
}

找出了问题所在…Emmanual在上下文中是正确的,因为我在Scriptrunner中运行它时,它没有使用行为实现,也没有添加到“脚本化字段”的上下文中,如果要在该问题的上下文中调用问题对象,这是必需的。

是否有效?什么不起作用?PS:大写字母开始类,小写字母开始变量,所以
field2
,而不是
field2
。这是一个惯例,当Groovy可能猜到你在谈论一个类时,它可以阻止你陷入潜在的陷阱。谢谢,我已经更新了变量的情况,我通常遵循惯例,但是我急急忙忙地把问题带到这里。当我在script Runner中测试这个脚本时,我在所有'issue'调用中收到以下错误:变量[issue]未声明。这是一个脚本化字段,将作为post函数运行,用于Jira工作流中打开的任何“问题”。当我把它作为上面的导入包来执行getCustomFieldValue和setCustomFieldValue方法时,我对如何声明问题感到困惑。最好的办法是询问Atlassian。据我所知,
issue
是为您提供的,但它不是Groovy的东西,而是脚本运行程序的东西。也许您在错误的上下文中运行了代码。找出了问题所在…Emmanual在上下文中是正确的,因为我在Scriptrunner中运行它,它没有使用行为实现,也没有添加到“脚本化字段”的上下文中,如果要在该问题的上下文中调用该问题对象,这是必需的。