Hello to everyone!
I wrote a script that must to change assignee in an issue, but it doesn't work without any error.
I have "customfield_10300" (Epic Link) and username "jandall". This script runs in postfunctions via ScriptRunner. But when I changing the transition of issue or creates it nothing happens. Script runs but with no changing of assignee.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
MutableIssue curIssue = issue
def condField = "customfield_10300"
def target = "assignee"
def cfManager = ComponentAccessor.getCustomFieldManager()
def cfCond = cfManager.getCustomFieldObject(condField)
def selectedVal = cfCond.getValueFromIssue(curIssue)
def cfTarget = cfManager.getCustomFieldObject(target)
if (selectedVal == "TBAS-1") {
curIssue.setCustomFieldValue(cfTarget, "jandall")
} else if (selectedVal == "TBAS-2") {
curIssue.setCustomFieldValue(cfTarget, "mdavis-sd-demo")
}
What am I doing wrong?
Assignee is not a custom field, unless you've added a new one called that. Can you confirm if you mean the standard system assignee, or you have a new custom field called assignee?
Right, so you can probably see why your code does not work - assignee is not a custom field, so you don't use set custom field functions.
Try .setAssignee(<user>) instead. You'll need a the user to be a user object, not a string
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks, it works well!
My final script for issue:
import com.atlassian.jira.ComponentManager;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.issue.comments.CommentManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.util.ImportUtils;
import com.atlassian.jira.user.util.UserManager;
import com.atlassian.crowd.embedded.api.User;
import com.atlassian.jira.component.ComponentAccessor;
MutableIssue curIssue = issue;
def issueManager = ComponentAccessor.getIssueManager();
def customFieldManager = ComponentAccessor.getCustomFieldManager();
def cField = customFieldManager.getCustomFieldObject("customfield_10000");
def cFieldValue = issue.getCustomFieldValue(cField);
String epicLink = cFieldValue;
String chs-admindev = "CHS-6";
String chs-design = "CHS-10";
String content = "CHS-28";
String mobilemarketing = "CHS-29";
String user = 'defaultuser';
if (epicLink == chs-admindev) {
user = 'user1';
}
if (epicLink == chs-design) {
user = 'user2';
}
if (epicLink == content) {
user = 'user3';
}
if (epicLink == mobilemarketing) {
user = 'user4';
}
issue.setAssignee(ComponentAccessor.getUserManager().getUserByName(user));
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.