I’ve just submitted a patch to Best Practical that others might find handy. We’re creating a large number of tickets from ingesting spreadsheets periodically and we want to temporarily disable the normal OnCreate/OnTransaction/etc scrips that we have on the queue when these are being created.
To allow my custom spreadsheet ingestion code to do this, I’ve had to patch a local copy of lib/RT/Ticket.pm to add a new optional argument to the Create() method called “ActivateScrips”. If not given, or set to true, Create() works as it always has done, firing of scrips for the initial transaction. If set to false (0), the scrip execution is suppressed for the initial transaction.
The patch is attached to ticket #35601 on the Best Practical RT bug tracker. Hopefully it will be deemed useful!