Realizing that one can only modify Request Type if the underlying Issue Type doesn't change, we resorted to having a single Issue Type for our Service Desk project. This allows us to use Automation rules to move customer tickets between Request Types as needed.
We also found out that we can make conditional workflow transitions for each different Request Type. The method is somewhat of a workaround, but, above all, it works. Having created Issues of the various Request Types, we use ScriptRunner Console to obtain the Option ID of a the specific Request Type required in the condition. The Option ID looks like this, where <project key> is replaced by the project key for your project
<project key>/1f209352-fd6e-42db-9fe5-47d405a0f7ed
Then we add a Workflow Condition that compares the field "Customer Request Type" to our result and select the option to compare using Option ID rather than String.
JSD is good about letting us specify which fields appear on the portal for each request type. So, we can have the customer see only those fields that pertain to their area of interest. After that, though, and since we have multiple request types mapped to one Issue Type, we have only one Issue Type Screen Scheme. So, when it comes time to View or Edit the issue, we must display all the fields associated with the Issue Type. This crowds the screen with lots of irrelevant fields.
Imagine two Request Types (Purchase and Human Resources) mapped to a single Issue Type (Request). Let us also say that we use Edit Fields on the Request Type to specify Position Name, Supervisor and Length of Term for the Human Resources request type. Likewise, we use the custom fields Total Cost, Shipping Address and Budget Number for the Purchase Request Type. So far, so good.
After the Issue is created, from within JSD as we Edit or View the ticket, we have only a single Screen by which to see it. The Edit and View screen shows all the fields: Position Name, Supervisor and Length of Term as well as the purchase fields.
Has anyone found a way to use a Screen based on Request Type rather than Issue Type? What we're looking for is, in effect, a Screen Scheme based on Request Type instead of Issue Type.