Workflows are a standout feature in JIRA that helps users to transform JIRA into a user-friendly system. It helps users to define a lifecycle for the issues, the purpose for which they are using JIRA, and so on. As the Atlassian documentation says at https://confluence.atlassian.com/jira/configuring-workflow-185729632.html:
A JIRA workflow is the set of steps and transitions an issue goes through during its lifecycle. Workflows typically represent business processes.
JIRA uses OpenSymphony's OSWorkflow, which is highly configurable and, more importantly, pluggable, to cater for the various requirements. JIRA uses four different plugin modules to add extra functionalities into its workflow, which we will see in detail throughout this chapter.
To make things easier, JIRA ships with default workflows for each use case. We can't modify the default workflows, but we can copy them into a new workflow and amend it to suit our needs. Before we go into the development aspect of a workflow...