You cannot suppress the plugin event from being triggered and you shouldn't be able to. Joomla is designed around the ability to control the subscribers to events, not the events themselves. ATS itself is based around the idea that a new ticket must be communicated to the user. Therefore and as you said, you can disable the “Akeeba Ticket System - New post notification emails” plugin to suppress the emails.
There are a few things of varying complication (and implications) that you can do to suppress the emails selectively.
If you do not want to send new ticket emails
at all you can go to Akeeba Ticket System, Setup, Email templates and unpublish the owner-private-new and owner-public-new templates. Since no email template is found no email is send out. However, this applies to all new tickets, even those created from the frontend or backend of the site.
If your import script runs fairly fast and outside busy hours you could disable the plugin, run your import and re-enable the plugin programmatically. The downside is that any tickets and ticket replies filed at that time won't be notified by email.
Since you're a competent Joomla extensions developer I trust you with this alternative: insert into ATS' database tables directly. However, you may not want to do this because it's a pain in the rear. I've only done that to convert from our old ticket and forum systems into ATS.
You can be sneaky, but I only recommend this for CLI or plugins guaranteed to only execute under specific conditions / specially crafted requests as opposed to plugins which can execute whenever (including when a user files a ticket or posts a reply). You can load any plugin group
except 'ats' before you initialize ATS' container. At this point Joomla's PluginHelper goes through load() to get information on all activated plugins (if it hasn't done so already) but has not assigned the 'ats' group's plugin methods as observers in its event dispatcher. Using Reflection you can peek into PluginHelper::$plugins and remove the ats useremails plugin. When the postNotifiable() method is called it will try to load the 'ats' group. Since the plugins cache is already loaded PluginHelper won't go through load() again. Therefore Joomla won't "see" the email plugin. It will register the observers of the other ats plugins just fine. Since the user email plugin is not loaded it won't send any emails. If you're not sure what I mean
look at this code I wrote for DataCompliance a while ago. At the end of the highlighted section $refPlugins can be used to read the internal Joomla cache of plugins, manipulate it and write back to it.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!