Workflow/Transition design (selecting new assignee)

Jan Danielsson June 29, 2017

Hello,

I'm new to JIRA, I've just spent some time clicking around just to get some grasp of what can be done in it, and I'm find myself being both impressed and overwhelmed.

I'd like a very specific workflow. It's simple enough; a "documentation update" project. The flow is simply: Open -> Editing -> Reviewing -> Finalizing -> Done. Editing can transition back to itself (pass on to another editor). Review can pass back to itself (hand over to another reviewer) and also pass back to "Editing" (more work needs to be done). Finalizing can also pass back to Editing (in case the person finalizing thinks the reviewers missed something). (And the obvious ways to abort/cancel the flow for exceptional events).

I managed (through some heroic frantic clicking) to create the workflow and it can do the transitions I want, and by changing the assignee the issue can be handed over to the appropriate person (through the transition and reassigning the issue are two separate operations; I would like them to be atomic). While what I have "works" in some sense, I feel that if it's used a lot (which it will be) we need to minimize the clicks -- actually using the workflow needs to be as easy as possible.

What I would like is that each time a user selects a transition a window should pop up asking for two things: Who to reassign the issue to, and a comment (every transition needs a log post which describes what happened to cause the transition).

I figured out that asking for input in transitions is done with Screens, and I added one with a "User pick (single user)" field. This, as expected, showed a user picker but it's not actually connected to anything.

Specific question #1: How does one create a transition screen which allows the current assignee to set the new assignee?

The next thing is something my gut feeling tells me is complicated, so I might not want to try it myself, but I'm going to ask anyway and see if it leads me to believe it's not as complicated as I imagine.

Each documentation issue will have a number of people who are responsible for different states. For instance, a document can have two editors and two reviewers and a finalizer. In some cases one of the reviewers can be a finalizer, etc. Anywho, the point is that there are specific users tied to these roles. It would be nice to enforce some constraints like when transitioning to "Reviewing", only a group of "reviewer" users can be selected. And in the spirit of "limiting clicks", it would be nice is the "select next assignee" was a drop-down list or a list of radio buttons (the single user picker is neat, but if you just want to select a user quickly and move on it'll get a little clunky).

Specific question #2: Is it possible to (easily) select a single user from a limited list of users (limited to a role/group) in a transision screen? (This kind of feels like what JIRA is expert at, so I assume it can be done. But how?)

Most issues in this particular "documentation update" project are long lived (read this as "It doesn't matter if creating the issue requires a little more work, as long as the workflow after creation is smooth"), and each issue will be for a specific document which has specific editors, reviewers and finalizers. I assume it's possible to - on a project basis - assign roles like "editors", "reviewers", "finalizer" -- but can it be done on an per-issue-basis?

Specific question #3: Is it possible to assign roles ("editors", "reviewers", "finalizer") on a per-issue basis, and have these roles be used as constraints in reassignments during transitions? What should I be looking at specifically to accomplish this?

To be clear, while I'm a developer and could learn how to write extensions for JIRA, I'm specifically wondering if these things can be done without developing any extensions. And if they can't, I'd love to hear suggestions on solutions which maybe aren't perfect but are in the spirit of what I want to accomplish (essentially things which follow the principle of "better than nothing" :).

Links to relevant reference documentation, tutorials, etc are highly appreciated! Like I wrote in the beginning, I've *just* started learning JIRA workflows (literally started yesterday), and am finding it somewhat overwhelming; if you think back to things which really helped you start to grasp workflow development, please share these insights.

And finally; While I've got the basic workflow working myself (essentially only need to solve the question #1 to be able to use it in production), I can't help realize that someone who understands JIRA much better than I could do what I want in a few hours, and do it without all the trial an error I require (not to mention all the kinks I'll introduce but won't have time to fix). What's a good place to find competent workflow-developers-for-hire?

2 comments

Comment

Log in or Sign up to comment
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.
June 29, 2017

>Specific question #1: How does one create a transition screen which allows the current assignee to set the new assignee?

You were very close.  Don't put a custom "user picker" on the transition screen, put the assignee field on it.  You will need to make sure that the person using the transition has the permission to assign issues

>Specific question #2: Is it possible to (easily) select a single user from a limited list of users (limited to a role/group) in a transision screen?

That's where you DO use a custom user picker.  These can be limited to roles and groups

>Specific question #3: Is it possible to assign roles ("editors", "reviewers", "finalizer") on a per-issue basis, and have these roles be used as constraints in reassignments during transitions? What should I be looking at specifically to accomplish this?

Not exactly.  A role in JIRA is a collection of users defined at a project level.  You put people into the roles.  So you can say "developers in project A are Alice and Bob, and the developers in project B are Alice and Charlie"

Once you've done that, then yes, you can use them in constraints.  If you add a "condition" like "person must be in the role of developer"  on a workflow transition, then JIRA will only let Alice and Bob use it in project A, and Alice and Charlie in project B.

>What's a good place to find competent workflow-developers-for-hire?

Here.

And https://www.atlassian.com/partners/search?page=1

Like Alex Jardine likes this
Thomas Schlegel
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
June 29, 2017

Hi Jan,

question 1: 

add the field assignee to your view, not a custom user picker field.

question 3:

there are no roles on issues. But if you are able to categorize your issues to just a few types, you can assign different workflows to them. In these workflows, you can use different groups (not roles, since roles are on a project-based only)

I will answer your second question tomorrow, if it is not answered by then. This takes a little bit longer and I have to leave now.

 

TAGS
AUG Leaders

Atlassian Community Events