Hi,
For some reason that I don't understand, I am getting a warning when running the following. It says that I "Variable "log masks a binding variable of the same name on Line 11 where I define log. Can someone tell me how/why I need to change that to something else?
For reference, this code is still not doing what I want it to do, hence the reason I am trying to insert debug statements to try to figure out what is wrong.
import com.onresolve.jira.groovy.user.FieldBehaviours
import com.atlassian.jira.event.issue.AbstractIssueEventListener
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import org.apache.log4j.Logger
import org.apache.log4j.Level
def log = Logger.getLogger("GenerateWeight")
// Set log level
log.setLevel(Level.DEBUG)
def issue = event.issue as Issue
def ValStatementFieldName = 'Value Statement Impact'
def VOIFieldName = 'VOI Score'
log.debug "ValStatementFieldName is $ValStatementFieldName"
log.debug "VOIFieldName is $VOIFieldName"
// Value for a multi-select field will always be a list even if "None" is selected
// def multiSelectFieldValue = multiSelectField.value as List
// Value for weighted VOI score based on which checkboxes in Value Statement Impact are checked by the user
def weight
def customFieldManager = ComponentAccessor.customFieldManager
def VOIField = customFieldManager.getCustomFieldObjects(issue).findByName(VOIFieldName)
assert VOIField : "Could not find custom field with name $VOIFieldName"
def ValStatementField = customFieldManager.getCustomFieldObjects(issue).findByName(ValStatementFieldName)
assert ValStatementField : "Could not find custom field with name $ValStatementFieldName"
// Value for a multi-select field will always be a list even if "None" is selected
def multiSelectFieldValue = ValStatementField
log.debug "multiSelectFieldValue is $multiSelectFieldValue"
// If value is null
if (multiSelectFieldValue == [null])
{
weight = 0
}
if (multiSelectFieldValue == ["Revenue"])
{
weight+= 4
}
if (multiSelectFieldValue == ["Client"])
{
weight+= 3
}
if (multiSelectFieldValue == ["Member"])
{
weight+= 2
}
if (multiSelectFieldValue == ["User"])
{
weight+= 1
}
log.debug "weight is $weight at end of script"
VOIField.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(VOIField), weight), new DefaultIssueChangeHolder())
Thanks,
Jeff