Assigning in postfunction

Remon Vrij December 13, 2016

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. 

4 answers

1 accepted

1 vote
Answer accepted
Vasiliy Zverev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 13, 2016

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())
}
0 votes
Remon Vrij December 14, 2016

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. 

0 votes
Remon Vrij December 14, 2016

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.

0 votes
JamieA
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 13, 2016

It's not clear how you are creating the issue - also you appear to be modifying the current issue...?

Suggest an answer

Log in or Sign up to answer