Definitely a post-function. A condition blocks a user from starting a transition if the condition is not met.
You will need to find or write a post-function that will set the data for you at the end of the transition. You can read the assignee field and say "if unassigned, set it to current user". I'd use the script-runner to do it.
Conditional Post-Functions are not a 'thing' in JIRA. Sometimes the programmer of a Post-Function programs the ability to write conditions or select simple conditions but that's outside of this conversation.
You should write your own post-function to achieve this goal.
To obtain this functionality without a writing a custom add-on, we must use conditions/post-functions as they exist within JIRA.
Pressing Start Progress should assign the issue to the current user if it's unassigned.
Create mutually exclusive transitions with opposite conditions, with identical functionality. They can have the same name to create a seamless experience.
Transition to assign to current user if the issue is unassigned
Transition to leave it assigned to the current assignee
To sum up...
You should now have two transitions. Only one can be visible at a time, and the logic performed will be as requested.
If you spend enough time as a Jira admin - whether you are managing a single, mid-sized instance, a large enterprise one or juggling multiple instances at once - you will eventually find yourself in ...
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!
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
We're bringing product updates and pro tips on teamwork to ten cities around the world.Save your spot