I have attached the workflow (jira agile workflow) and board as screenshots.
The basic use case, which already works, looks like this:
1) Developer finished his code review and deployment tasks by merging into the master branch and manually changes the ticket status to "done"
2) Jenkins job pushes the new release to the live servers
3) The plugin changes the status of the ticket from "done" to "live" → Because of jira e-mail subscriptions the product owners get an email that the status has changed to "live"
Now there are two corner cases which cause unnecessary status transitions:
a) The developer set the status to "live" manually by accident before the jenkins job was triggered
b) Some tickets, that are part of a base library, are checked out with every deploy. This means the plugin triggers the transition to "live" for some tickets over and over again, which were already set to "live" by a previous job.
The problem is, that in both cases our product owners get status update mails for tickets that have already been set to "live" once. The problem could easily be solved, if there was an option in the plugin that, if activated, would check the status of every ticket it is about to do a transition on and if the current status is the same as the status after the transition, it should just skip the issue. So in the two cases above transitions from "live" to "live" should be skipped.