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.