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

  • 8
  • 21

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
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'"; 
}

testers.zip (1.9KB)

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.

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.

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 :-)

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'."; 
}

testers.zip (2.1KB)

Thanks. State management works great now.
But the Tester still can change all other Fields (except state).

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'."; 
}


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'."; 
}

testers.zip (3.2KB) (the last variant).