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.
I have multiple projects that use variations of the same base workflow. The variations depend on the requirements of the project or issue type. The variations mostly come in the form of new statuses ...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events