Hi Team ,
I am trying place to script in script runner listeners (work logged on issue event) . Please find error screenshot attached.
script is for to send email to some list of users when the time logged (calculated number custom field A ) is greater than 80% of custom field B number field in issue.
below script is working In Jira groovy console when execute against particular issue.
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.issue.link.IssueLink;
import com.atlassian.jira.issue.link.IssueLinkManager;
import com.atlassian.mail.Email;
import com.atlassian.mail.queue.SingleMailQueueItem;
import com.atlassian.jira.issue.worklog.Worklog
import com.atlassian.jira.issue.worklog.WorklogManager
import com.atlassian.jira.issue.MutableIssue
import org.apache.log4j.Logger
import org.apache.log4j.Level
import com.onresolve.scriptrunner.runner.util.UserMessageUtil
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
WorklogManager worklogManager = ComponentAccessor.getWorklogManager()
Double total = 0;
Double total1 = 0;
def customField_orgEE = customFieldManager.getCustomFieldObjectsByName( "Original EE" );
def customField_aclrtd = customFieldManager.getCustomFieldObjectsByName( "Actual Reported" );
def issue = event.issue as MutableIssue
//Taking orginal EE field value and calucalte 80% from
Double sp = issue.getCustomFieldValue( customField_orgEE );
total += sp;
originalEE = 0.8 * total
//taking Actual Reported field value from RMID
Double sp1 = issue.getCustomFieldValue( customField_aclrtd );
total1 += sp1;
if (total1 >= originalEE) {
def email = new Email(issue.get("customfield_12912")?.emailAddress)
email.setCc("xxxxx.com")
email.setSubject("Jira time logged threshold")
email.setBody("Hello, Total time spent on RMID is reached more than 80% of OriginalEE for ${issue.getKey().toString()}. Kindly check it")
SingleMailQueueItem item = new SingleMailQueueItem(email);
ComponentAccessor.getMailQueue().addItem(item);
log.info "*** RMID email sent"
}
Thanks,
Gunti