Hi everyone,
Nice to e-meet you all.
I'm having issues with a specific post-function(Clone an issue and link), I'm trying to create a issue link it to the original and have make it have a specific description and assignee.
There is a condition in place to not execute this in case some of the required variables are not filled in.
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue
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
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.security.Permissions;
import com.atlassian.jira.event.type.EventDispatchOption;
CustomFieldManager customFieldManager = ComponentManager.getInstance().getCustomFieldManager();
userManager = (UserManager) ComponentAccessor.getUserManager()
MutableIssue issue = issue
if (issue.getProjectObject().getKey() == 'OPS') {
def cf_2 = customFieldManager.getCustomFieldObjectByName('Deployment date PROD')
def cf_3 = customFieldManager.getCustomFieldObjectByName('Platform')
val_2 = issue.getCustomFieldValue(cf_2).toString().split(" ")[0]
val_3 = issue.getCustomFieldValue(cf_3).toString().split(" ")[0]
/*
if (cf_3 == 'Azure'){
User usera = userManager.getUser('azure.team');
issue.setAssignee(usera);
}
*/
issue.setSummary(val_2 + ' deployment to PROD ' + val_3 + ' ' + issue.getSummary())
}Everything seems to work as the output creates a ticket with for example:
2016-12-13 deployment to PROD Azure TESTCASE
I for the life of me can't get it to be assigned to the azure team however.
I've googled a few examples however I can't seem to find one that works for me, am I overseeing something?
Cheers for the help.
Check your if condition - there is custom field, but not its value. Here is refactired code:
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.component.ComponentAccessor
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
if (issue.getProjectObject().getKey() == 'OPS') {
val_2 = issue.getCustomFieldValue(customFieldManager.getCustomFieldObjectByName('Deployment date PROD')).toString().split(" ")[0]
val_3 = issue.getCustomFieldValue(customFieldManager.getCustomFieldObjectByName('Platform')).toString().split(" ")[0]
//val_3, but not custom field should be here
if (val_3 == 'Azure'){
issue.setAssigneeId("azure.team");
}
issue.setSummary(val_2 + ' deployment to PROD ' + val_3 + ' ' + issue.getSummary())
}
Thanks for the feedback, I got it to work.
It was a combination of me overseeing the if statement and I forgot the fact that the workflow of the created issue would auto assign to the reporter.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Jamie,
The creation proccess in handled outside of the script, I execute this script on a workflow transition "Script workflow function : Clones an issue and links."
Where I have the script above set under "Additional issue actions".
Modifying the current issue before it's cloned would also solve my issue actually.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It's not clear how you are creating the issue - also you appear to be modifying the current issue...?
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.