No status synchronization if certain status is set

Originally asked by Florian on 02 December 2021 (original question)


Hello all,

I want when a certain status is set in the target project the status sync is not performed.

Kind Regards

Florian


Comments:

Ariel Aguilar commented on 03 December 2021

Hi Florian,

Can you describe a bit more? And maybe share the configuration used?

Kind regards,

Ariel

Florian commented on 04 December 2021

Hi Ariel,

thank you very much for your support. I have in project A the status “Closed”, when this status is set, the status in project A should not be changed anymore. (Customers can also set the ticket to this status).

However, in project B we are still working on the task partly in the background, the customers often don’t get to know anything about it and should not be confused by reopened tickets.

def FMstatusMap = ["Warten auf Kunden": "Warten auf Standort", "Warten auf Dienstleister": "Warten auf Dienstleister", "In Prozess": "Aktualisiert", "Angehalten": "Aktualisiert", "Ticket gelöst": "Warten auf Standort", "Ticket_Geschlossen": "Geschlossen", "Erneut geöffnet": "Aktualisiert", "Ticket offen": "Zugewiesen"] 
    def remoteStatusName = replica.status.name
    issue.setStatus(FMstatusMap[remoteStatusName] ?: remoteStatusName)

We also update the status only from project B to project A. The status in project A does not influence the status in project B.

Many greetings

Florian

Answer by Ariel Aguilar on 08 December 2021

Hi Florian,

If you want to make sure it stays “Closed” when the status is set and not synchrozed again, you may add the following to your incoming sync rules:

Incoming:

if(issue.status.name != "Closed"){
def FMstatusMap = ["Warten auf Kunden": "Warten auf Standort", "Warten auf Dienstleister": "Warten auf Dienstleister", "In Prozess": "Aktualisiert", "Angehalten": "Aktualisiert", "Ticket gelöst": "Warten auf Standort", "Ticket_Geschlossen": "Geschlossen", "Erneut geöffnet": "Aktualisiert", "Ticket offen": "Zugewiesen"] 
    def remoteStatusName = replica.status.name
    issue.setStatus(FMstatusMap[remoteStatusName] ?: remoteStatusName)
}

Let me know if this works for you.

Kind regards,

Ariel