import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.ComponentManager
Issue issue = issue;
ComponentManager componentManager = ComponentManager.getInstance();
CustomFieldManager customFieldManager = componentManager.getCustomFieldManager();
CustomField customField1 = customFieldManager.getCustomFieldObject('customfield_10589') ;
CustomField customField2 = customFieldManager.getCustomFieldObject('customfield_10590');
firstname = issue.getCustomFieldValue(customField1)?.getValue();
lastname = issue.getCustomFieldValue(customField2)?.getValue();
if (firstname && issue.summary){
if (issue.summary.contains(firstname) && issue.summary.contains(lastname)){
issue.summary = "Joiner:"+ issue.summary;
}
else{
issue.summary ="Joiner: "+firstname+" "+lastname;
}
}
else{
return false;
}
you need to update the issue after setting the fields.
where you are writing this script in workflow postfunction?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.event.type.EventDispatchOption;
import com.atlassian.jira.security.JiraAuthenticationContext;
ComponentAccessor comAcc=new ComponentAccessor();
CustomFieldManager cfm = comAcc.getCustomFieldManager();
CustomField customField1 = cfm.getCustomFieldObjectByName("FirstName");
CustomField customField2 = cfm.getCustomFieldObjectByName("LastName");
MutableIssue issue=(MutableIssue)transientVariables.get("issue");
String fname=issue.getCustomFieldValue(customField1).toString();
String lname=issue.getCustomFieldValue(customField2).toString();
if(fname.isNotEmpty()&&issue.getSummary.isNotEmpty()){
if (issue.getSummary.contains(fname) && issue.getSummary.contains(lname)){
issue.setSummary("Joiner:"+ issue.getSummary);
}
else{
issue.setSummary("Joiner: "+fname+" "+lname);
}
try{
JiraAuthenticationContext authContext = comAcc.getJiraAuthenticationContext();
comAcc.getIssueManager().updateIssue(authContext.getLoggedInUser() , issue, EventDispatchOption.EventDispatchOptionImpl.ISSUE_UPDATED , true);
comAcc.getIssueIndexManager().reIndex(issue);
}
catch(Exception e){
e.printStackTrace();
}
}
The above kind of Java code worked for me.
The issue should be Mutable Issue and also the customfield are of text type.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It did not worked exactly because of lots of dependencies.. but it really helped in understanding a lot of new thing and Now I have developed a script of my own which is working as per the requirements.
Thanks a ton for all the Help.
Regards,
-- SR
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.