We were faced with this requirement a long time ago. And we thought also that it’s not a good idea to create automatically tickets (in case of flapping devices).
Back then was the solution (and because of the fact the less knowledge about writing modules for icingaweb2) I wrote an old fashioned cgi perl script which we can call with with the action url function in icingaweb2. The script is collect some needed information from icinga (api and/or db) and send this to the api/db of the ticket system. If someone in our company click to the link he has to confirm the information (and maybe re-edit the text) before sending this to the ticket system. So it’s not possible to flood the ticket system with useless information.
In the future I will re-write our solution as icingaweb2 module if I find time.
What I know from the past like community posts and talks at icinga camp and OSMC that some have already written their own icingaweb2 modules for their own company. I still don’t remeber if they have shared their solutions.