There are often times when we want to offer our developers specific actions, which we use to enforce and simplify workflow. The way that we typically do that now is to add a transition which does not change the status, but has post actions in Scriptrunner which do any custom work.
This seems like a hack though. Some of the issues we have with this are:
1) You can not reject the "action" if the user does not provide certain fields because Scriptrunner in cloud cannot reject a transaction because it's async
2) You can't have forms for the action which contains fields which are not associated with the ticket. This results in us creating custom fields that the ScriptRunner scripts have to clear when the action is done. For example: We have our own "Create Linked Issue" transition for our projects which are not Service Desk. To create this, we needed to add a "NewIssueAssignee" field and "NewIssueLinkType" field, which the script can use to create the new ticket, but then it needs to clear them on the original ticket. This seems like a big hack, plus, because it's not necessarily atomic, you could have an issue where two people running the same action on the same ticket have colliding data. (i.e. one removes the other ones changes, or uses the wrong values in the script).
How do other people create "actions" for their users?
Recommended Learning For You
Level up your skills with Atlassian learning
Learning Path
Become an effective Jira admin
Manage global settings and shared configurations called schemes to achieve goals more quickly.
Streamline Jira administration with effective governance
Improve how you administer and maintain Jira and minimize clutter for users and administrators.
Learning Path
Become an effective Jira software project admin
Set up software projects and configure tools and agile boards to meet your team's needs.