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: 

Can you help me set approvers basis two custom fields in jira?

Muddassir Quazi
Contributor
June 11, 2021

Hi,

At the time of issue creation if a category (single select custom field) has a value selected 'xxx' then the issue must go to ND approval. ND approvers are different for different countries. Let say country (multi select custom field) is selected as 'yyy' then approver is the user 'abc' and if the country selected is 'zzz' then the approver is the user 'efg' etc. There is a list for this.

I want write a custom script for this and set it as Post function on that respective transition. 

Please help me fix this.

1 answer

1 accepted

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

1 vote
Answer accepted
PD Sheehan
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.
June 11, 2021

That's possible, but you'll have to keep your country/user association right in the script.

 

Something like this:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.customfields.option.LazyLoadedOption


def countryUserMap = [
countryName1:user1,
countryName2:user2,
//etc
]
def categoryCf =ComponentAccessor.customFieldManager.getCustomFieldObjectsByName('Category').first()
def countryCf = ComponentAccessor.customFieldManager.getCustomFieldObjectsByName('Country').first()
def category =(issue.getCustomFieldValue(categoryCf) as LasyLoadedOption).value
def country = (issue.getCustomFieldValue(countryCf) as LasyLoadedOption).value
if(category == 'xxx){
def assignee = ComponentAccessor.userManager.getUserByName(countryUserMap[country])
issue.assignee = assignee
}

Muddassir Quazi
Contributor
June 12, 2021

Hey Peter,

Will try this , thanks.

Muddassir Quazi
Contributor
June 12, 2021

Hi Peter,

Thanks for solution, that really worked for me.

Thank you.

TAGS
AUG Leaders

Atlassian Community Events