Add Jira User Senders to a Custom Field on Comment
This script is to be used in the Script Field Processor (https://thepluginpeople.atlassian.net/wiki/spaces/JEMH/pages/227115013 ) and requires emails to have an issue key in the subject in order to identify the issue that is to be commented on.
Overview
Summary: Add Jira user senders to a multi user picker Custom Field on an issue if they are not already present, when commenting on an issue.
Here is a quick rundown of what this script does:
Check if the email sender is a Jira user
If they are a Jira user, check the subject for an issue key (this shows the email is commenting on an existing issue)
If an issue key is found, locate the issue to be commented on using this key
Extract the current values of the Custom Field
Check if the sender is already in this field
If they are not, then they will be added
Example Script
var from = fromAddress.getAddress();
var jiraUser = jemhUtils.getUserByEmail(from);
if(jiraUser == null) {
print("Sender was not a Jira User");
}
else {
var pattern = Java.type("java.util.regex.Pattern").compile"([A-Z]+-[0-9]+)");
var matcher = pattern.matcher(subject);
if(matcher.find()) {
var group = matcher.group(1);
var issue = issueManager.getIssueObject(group);
var jiraUserField = customFieldManager.getCustomFieldObjectByName("Jira Users Field");
var jiraUsers = issue.getCustomFieldValue(jiraUserField);
if(!jiraUsers.contains(jiraUser)) {
jiraUsers.add(jiraUser);
print(jiraUsers);
resultMap.put("Jira Users Field", jiraUsers);
}
}
}
On line 14 and line 19, change 'Jira Users Field
' to the name of your user picker Custom Field.
Please Note: This script only works for comments that are added to existing issues. If you want to add a Jira User sender to a Custom Field on CREATE, this can be done in Email → Sender Processing in your profile.