How to create Tester Role that can change only "Fixed" state to "Open" or "Verified"?

Hello there,

we use an agile board. The tester should be able to drag only the tasks that are in the "Fixed" column to either the "Verified" column or back to "Open".

How do I do this?

Thanks
Sebastian
8 comments
Comment actions Permalink
This workflow restricts the 'State' transitions for the 'testers' group:
rule testers task moving to 
 
when (State.becomes({Verified}) || State.becomes({Open})) && State.oldValue == {Fixed} { 
  assert loggedInUser.isInGroup("testers"): "You have to be in group 'testers'"; 
}
prettyPrint();
testers.zip (1.9KB)
0
Comment actions Permalink
Thank you for the quick answer.

Could you explain how excatly I should apply this?

I created  a group testers with the default role Reporter. But they can't change any issue statuses. If I give them Permission to change issue stauses they can change any status.
So far I installed the workflow and attached it to my Project. But it does not seem to work.

Any ideas?

Thanks.
0
Comment actions Permalink
Sure you have to grant the 'Update issue' permission to the 'testers' group in the project. E.g. use 'Developer' role, but it seems more convenient to create a new role 'Tester' with the only needed to tester permissions.

Ensure the group name is "testers". Try to change the State from 'Fixed' to 'Verified' or 'Open' by the logged in a 'tester' user (included to the group 'testers') and by the non tester user.

Please let me know if you're success or not.
0
Comment actions Permalink
Thanks! It works now.

But there is one more problem:
Your rule prevents all but the tester from changing the fixed state.
But what I need is:
Anyone with Update permission can change the fixed state.
Only the tester should not be able to change any field but the state field. And the tester should only be allowed to change a Fixed state to open / verified (right now he can change anything e.g. submitted to open).

I hope I got it right :-)
0
Comment actions Permalink
Please try this version of the workflow:
rule Testers state changing 
 
when State.changed && loggedInUser.isInGroup("testers") { 
  assert (State.becomes({Verified}) || State.becomes({Open})) && State.oldValue == {Fixed}: "Tester can only change state from 'Fixed' to 'Verified' or 'Reopen'."; 
}
prettyPrint();
testers.zip (2.1KB)
0
Comment actions Permalink
Thanks. State management works great now.
But the Tester still can change all other Fields (except state).
0
Comment actions Permalink
Basically you can make others fields 'private' and don't grant permission 'Update Issue Private Fields' to testers.

Another way - add one more workflow rule that prohibits all issue updates(including comments adding etc.):
rule block tester changes 
 
when loggedInUser.isInGroup("testers") { 
  assert State.changed: "'Testers' cannot change issues fields except the 'State'."; 
}
prettyPrint();

or blocks the only fields changes:
rule block tester changes 
 
when loggedInUser.isInGroup("testers") && (Priority.changed || Type.changed || Assignee.changed || Subsystem.changed || Fix versions.changed || Affected versions.changed || Fixed in build.changed) { 
  assert State.changed: "'Testers' cannot change issues fields except the 'State'."; 
}
prettyPrint();
testers.zip (3.2KB) (the last variant).
0

Please sign in to leave a comment.