Workflow Path based on Select List

Hello,

I am trying to take a different workflow path based on a select list choice from the user.  Meaning if the user selects Yes it would take one workflow path, if the user selects No it would take another.

Any ideas?

Thanks for the help!

 

2 answers

1 accepted

1 vote

You can't really do this in one go. 

If you are ok with a two-step process, then you can simply set mutually opposing conditions on the two paths (on transition 1, "if cf = yes" and on transition 2, "if cf != yes").  The users will only ever be offered one transition, based on the current setting of the field.

What you can't do easily is put the field on the screen and then let it choose the transition that runs when the user commits it.  This is because they've already started the transition when they get to the screen, so they've already chosen.

Two workarounds:

  1. The ugly one: Use something like the script-runner.  If the user chooses "yes", then transition to status X and do nothing else.  If they choose no, then use the auto-transition tricks to push the issue to status Y immediately after X.
  2. The sneaky reverse the question trick: remove the field from the transition screen, give the user both transitions to X and Y, with clear names, and then set the field according to what they choose.

    On the second one, as an example, imagine the flag is something like "is this over £2,000 in value?".  Instead of yes/no on screen, offer them transitions for "Less than £2,000" and "£2,000 or more"

Hello,

Let me give an example.  On issue creation we capture a few different variables through some select lists.  Things like if a PMO resource should be involved or potentially someone from marketing or editorial.  This information is captured by selecting Yes in select list.  Later in the workflow, assuming one of these values were selected, we would work into an alternative workflow (as part of the same workflow of course).  Once we capture the additional information in this step we would then transition back into the main workflow.

Let me know if this makes better sense.

So in status 'A' or 'B' a user decides that to check a checkbox (or enter 'y' in a field or similar boolean function).

Later, in status 'D', create two transitions, to 'tE' and 'tD1'

Conditions on each:

'tE' - if ((checkbox = unchecked) OR (all conditional values populated)) , allow transition to status 'E'

'tD1' - if ((checkbox = checked) AND NOT (all conditional values populated))  display screen with conditional fields, transition back to status 'D'

 

This should only display the correct button depending on state of affairs.

 

Right, so it's the two-step case I mentioned earlier, which is quite easy to implement.

Would this be a validator and not a condition?

No. A Condition will hide a transition from a user. A validator checks data is ok after the user has tried to commit the transition.

What you're describing is a situation where you can check data before offering the user the chance to do something. So it's a Condition. You want two opposing ones.

Which condition should I add. There doesn't seem to be a condition which looks at a custom field.

Ah, yes, sorry, completely forgot - you'll need an add-on to provide the conditions. The JIRA Suite Utilities has one for custom fields if memory serves. (It's a well supported and free add-on)

Surprised this is not a built in feature. 

Nic's original answer worked perfect.

Suggest an answer

Log in or Sign up to answer
Atlassian Community Anniversary

Happy Anniversary, Atlassian Community!

This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.

Read more
Community showcase
Posted 13 hours ago in Jira

We want to know what Jira Service Desk apps you're using!

Hi Community! My name is Amir and I’m on the Jira Service Desk product marketing team at Atlassian. Our team would love to understand how you’re leveraging our ecosystem for Jira Service Desk. Wha...

37 views 0 5
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you