Can be examined from a Listener:

package com.netic.eventlistener

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.link.IssueLink;
import com.atlassian.jira.issue.comments.CommentManager
import com.atlassian.jira.util.JiraUtils;
import com.opensymphony.workflow.WorkflowContext;
import com.atlassian.jira.event.issue.AbstractIssueEventListener
import com.atlassian.jira.event.issue.IssueEvent

class EventListener extends AbstractIssueEventListener {
    
    @Override
    void workflowEvent(IssueEvent event) {
        String IssueType      = event.issue.getIssueType().name
        String ProjectName    = event.issue.getProjectObject().name
        String IssueKey       = event.issue.key
        String EventId        = event.getEventTypeId()
        System.out.println("Event: " + EventId)

    }
}

Reference: https://jamieechlin.atlassian.net/wiki/display/GRV/Listeners and Script Runner Listener and https://ecosystem.atlassian.net/wiki/display/JTOOL/Auto+Transition+Listener

EventID
Issue Created1
Issue Updated2
Add/Remove Attachment (Issue Updated)2
Issue Assigned3
Issue Resolved4
Issue Closed5
Issue Commented6
Issue Reopened7
Issue Deleted8

Issue Moved

The Event is fired for the target project, not the source (sad)

9
Work Logged10
Work Started On Issue11
Work Stopped On Issue12
Generic Event13
Issue Comment Edited14
Issue Worklog Updated15
Issue Worklog Deleted16
Issue Comment Deleted17