get first assignee

Manish Jain May 16, 2016

I want to assign my task to first assignee if re-open by some other user.

1 answer

0 votes
Phill Fox
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 16, 2016

Whilst this is not possible without the use of Add-ons it is relatively staightforward with Add-ons. You need to capture the username of the first assignee (possibly in a hidden field) and then on the transition for re-open set the assignee field to match the hidden field content. 

Depending on which Add-ons you already have installed it may even be the case that you have the functionality already in place. 

Consider the following options (and there are more) to see which is the best fit for you.

https://marketplace.atlassian.com/plugins/com.onresolve.jira.groovy.groovyrunner/server/overview

https://marketplace.atlassian.com/plugins/com.innovalog.jmwe.jira-misc-workflow-extensions/server/overview

https://marketplace.atlassian.com/plugins/com.fca.jira.plugins.workflowToolbox.workflow-toolbox/server/overview

 

Manish Jain May 16, 2016

Thanks Phill, I have added following code under "Post function" but still not working. Please let me know if something is missing in code.

----------------------------------

import com.atlassian.jira.issue.*

import com.atlassian.jira.issue.fields.CustomField

import com.atlassian.core.util.DateUtils

import com.atlassian.jira.ComponentManager

import com.atlassian.jira.issue.history.ChangeItemBean

 

def componentManager = ComponentManager.getInstance();

def changeHistoryManager = componentManager.getChangeHistoryManager();

 

def changeItems = changeHistoryManager.getChangeItemsForField(issue, "assignee");

def firstAssigned;

def assigneeName;

if(changeItems !=null && !changeItems.isEmpty()){

    ChangeItemBean ci = (ChangeItemBean) changeItems.get(0);

    assigneeName = ci.getFrom(); // name

    String assigneeFullName = ci.getFromString();// full name

        def assignedTime = ci.getCreated().getTime();

        firstAssigned = assignedTime;   issue.setAssigneeId(assigneeName.toString())

}

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 17, 2016

You need to set the assignee as User object, not a display name or login id.

Manish Jain May 17, 2016

Thanks Nic. I removed toString function from last line and it work according to my requirement.

Suggest an answer

Log in or Sign up to answer