The Atlassian Community Forums are currently in read-only mode. We will be relaunching on a new platform on September 22 (read more here). We apologize for the extended downtime. For concerns or questions, please email communitymanagers@atlassian.com. See you on the other side, on the new Atlassian Community Forums! :)

×

Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

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

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

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 Champions.
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 Champions.
December 13, 2016

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

Comments for this post are closed

Community moderators have prevented the ability to post new answers.