block assignment outside of user group

JasonH Arvato November 19, 2019

I have 2 teams of users - team A and team B. 

I want to stop members of team A assigning to members of team B and vice versa and force them to use the existing workflow transitions to move issues between teams.

I've tried programmatically setting the  jira.permission.assignable.group property but it seems to have no effect.

Ideally the assign user list would only contain their own team's co-workers, this would encourage them to looks for a workflow option.

 

1 answer

0 votes
Petter Gonçalves
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 20, 2019

Hello @JasonH Arvato

Thank you for reaching out.

Indeed, the property jira.permission.assignable.group should work to restrict your users to only assign issues to users in a specific project. Can you please provide us with a screenshot displaying how you have configured it?

These would be the steps to configure the property:

1 - Navigate to your project > Project Settings > Workflows > Click to edit the relevant workflows

2 - On Diagram mode, click in the status you want to block your users from assignee to other groups > Properties

Screen Shot 2019-11-20 at 18.39.20.png

3 - Add the following:

Property key = jira.permission.assignable.group

Value = team_a

4 - Publish your draft

 If the steps above do not work for you, try the following:

1 - Navigate to your User Management > Groups > Click in the group you want your users to transition the issue > Check if the URL their related ID and paste it in the property value instead of the group name 

2 - Doublecheck the users in group B are not added to group A

Let me know if you have any questions.

JasonH Arvato November 21, 2019

Hi Petter, 

Setting fixed properties against the status will not work here.  I need to do it programmatically depending on the current user's group.  

I have components which auto-assign to people in either team A or team B.  If the component auto-assigns to a user in team A then I don't want the user to assign to someone in team B.  If the component means someone in team B gets it then team A should be excluded.

I tried a transition post function, after auto-assigning to the component lead I then made a check on the current assignee's group like this (pseudo code not actual!)

if currentAssignee is a member of teamA then

set jira.permission.assignable.group=teamA

if currentAssignee is a member of teamB then

set jira.permission.assignable.group=teamB

but in both cases I saw no change, all users were in the assign dropdown regardless of group.

JasonH Arvato November 25, 2019

Hi @Petter Gonçalves

Any idea on this one?  As described above the requirement is to set it programmatically not just in the workflow status properties.

Petter Gonçalves
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 25, 2019

Hello @JasonH Arvato

Thank you for the details provided.

About the post function you mentioned above, what is the app you used to create it? I'm not aware of any apps with post functions that would enforce workflow properties unless you just used the post function to transition the issue to a status with that property.

Anyway, I think that the only option using only JIRA to achieve your need would be to use two different issue types to assign issues for each group. Explaining it better, you would create two issue types and set two different workflows, configuring the "jira.permission.assignable.group" property in all the statuses and transitions of their respective workflows. Would this be an option for you? Or you have more teams where you would like to apply this same logic and the creation of a single issue type for each of them would require a very cumbersome effort?

JasonH Arvato November 25, 2019

Hi @Petter Gonçalves 

I tried using a groovy script in a transition post function to try to set the workflow property so that the next attempt at assignment was within the assignee's group.

Having 2 issue types won't work, it would be very cumbersome and the users creating the issues won't know which type to use.  The group A or group B decision is based on the component lead being used for auto-assignment, so until the issue reaches auto-assigned the issue is not assigned to either group.  

I actually have 3 different issue types in and 4 projects sharing the same workflows here.  I really just need a simple programmatic decider -
if currentassignee is member of group A then only allow assignment to their colleagues in group A

if currentassignee is member of group B then only allow assignment to their colleagues in group B

etc...

Like Kalos Bonasia likes this

Suggest an answer

Log in or Sign up to answer