---
oncall-urgent:
  Inited:
    CreatedEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UrgentUpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  WaitForNotified:
    NotifyEvent:
      state: Notified1Times
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
    UrgentUpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  Notified1Times:
    TimeoutEvent:
      state: Notified1TimesTimeout
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  Notified1TimesTimeout:
    NotifyEvent:
      state: Notified2Times
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  Notified2Times:
    TimeoutEvent:
      state: Notified2TimesTimeout
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  Notified2TimesTimeout:
    NotifyEvent:
      state: Notified3Times
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  Notified3Times:
    TimeoutEvent:
      state: NotifiedSecondaryTimeout
      action:
        cmd: ["escalate"]
        log_on_comment: true
        on_success: EscalateEvent
        on_error: EscalateErrorEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  Notified3TimesTimeout:
    NotifiedSecondaryEvent:
      state: NotifiedSecondary
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
    NotifiedSecondaryErrorEvent:
      state: NotifiedSecondaryTimeout
      action:
        cmd: ["escalate"]
        log_on_comment: true
        on_success: EscalateEvent
        on_error: EscalateErrorEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  NotifiedSecondary:
    TimeoutEvent:
      state: NotifiedSecondaryTimeout
      action:
        cmd: ["escalate"]
        log_on_comment: true
        on_success: EscalateEvent
        on_error: EscalateErrorEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  NotifiedSecondaryTimeout:
    EscalateEvent:
      state: Escalated
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEscalationEvent
    EscalateErrorEvent:
      state: EscalateError
      action:
        cmd: ["notify", "phone", "firemaster", "alert"]
        log_on_comment: true
        on_success: NotifyFiremasterEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  Escalated:
    NotifyEscalationEvent:
      state: NotifiedEscalation
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  EscalateError:
    NotifyFiremasterEvent:
      state: NotifiedFiremaster
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  NotifiedEscalation:
    TimeoutEvent:
      state: NotifiedEscalationTimeout
      action:
        cmd: ["escalate"]
        log_on_comment: true
        on_success: EscalateEvent
        on_error: EscalateErrorEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  NotifiedEscalationTimeout:
    EscalateEvent:
      state: Escalated
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEscalationEvent
    EscalateErrorEvent:
      state: EscalateError
      action:
        cmd: ["notify", "phone", "firemaster", "alert"]
        log_on_comment: true
        on_success: NotifyFiremasterEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  NotifiedFiremaster:
    TimeoutEvent:
      state: NotifiedFiremasterTimeout
      action:
        cmd: ["notify", "phone", "firemaster", "alert"]
        log_on_comment: true
        on_success: NotifiedFiremasterEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  NotifiedFiremasterTimeout:
    NotifiedFiremasterEvent:
      state: NotifiedFireMaster2Times
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  NotifiedFireMaster2Times:
    TimeoutEvent:
      state: NotifiedFiremaster2TimesTimeout
      action:
        cmd: ["notify", "phone", "siddon", "alert"]
        log_on_comment: true
        on_success: NotifiedSiddonEvent
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  NotifiedFiremaster2TimesTimeout:
    NotifiedSiddonEvent:
      state: NotifiedSiddon
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  NotifiedSiddon:
    AcknowledgeEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedStatusToIndeterminateEvent:
      state: Acknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
  Acknowledged:
    ReqLogOnCommentEvent:
      state: Finished
      action:
        cmd: ["comment", "ack by completing reading the Feishu message"]
        on_success: CommentedEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedAssigneeEvent:
      state: Finished
      action:
        cmd: ["notify", "card", "assignee", "oncall"]
        log_on_comment: true
  Finished:
    CommentedEvent:
      state: Finished
    UrgentUpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: Downgraded
    UpdatedAssigneeEvent:
      state: Finished
      action:
        cmd: ["notify", "card", "assignee", "oncall"]
        log_on_comment: true
  Downgraded:
    UrgentUpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "phone", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent

oncall:
  Inited:
    CreatedEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "assignee", "oncall"]
        on_success: NotifyEvent
        log_on_comment: true
    UpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "assignee", "oncall"]
        on_success: NotifyEvent
        log_on_comment: true
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "assignee", "oncall"]
        on_success: NotifyEvent
        log_on_comment: true
  WaitForNotified:
    NotifyEvent:
      state: Finished
    UpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "assignee", "oncall"]
        on_success: NotifyEvent
        log_on_comment: true
    UrgentUpdatedPriorityEvent:
      state: Upgraded
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "assignee", "oncall"]
        on_success: NotifyEvent
        log_on_comment: true
  Finished:
    NotifyEvent:
      state: Finished
    UpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    UrgentUpdatedPriorityEvent:
      state: Upgraded
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "assignee", "oncall"]
        on_success: NotifyEvent
        log_on_comment: true
  Upgraded:
    UpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "assignee", "oncall"]
        on_success: NotifyEvent
        log_on_comment: true

oncall-assign:
  Inited:
    UpdateToEscalateToL3Event:
      state: WaitForTimeout
      action:
        cmd: ["timeout", 5]
        on_success: TimeoutEvent
    UpdatedPriorityEvent:
      state: WaitForTimeout
      action:
        cmd: ["timeout", 5]
        on_success: TimeoutEvent
  WaitForTimeout:
    TimeoutEvent:
      state: WaitForNotified
      action:
        cmd: ["assign"]
        on_success: FinishEvent
        on_error: ErrorAssignEvent
  WaitForNotified:
    FinishEvent:
      state: Finished
    ErrorAssignEvent:
      state: WaitNotifyHu
      action:
        cmd: ["notify", "phone", "static-hu", "oncall"]
        on_success: NotifyHuSuccessEvent
        log_on_comment: true
  WaitNotifyHu:
    NotifyHuSuccessEvent:
      state: Finished
  Finished:

l2-notify:
  Inited:
    UpdateL2AssigneeEvent:
      state: WaitForNotify
      action:
        cmd: ["notify", "card", "custom", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
  WaitForNotify:
    NotifyEvent:
      state: Finished
    UpdateL2AssigneeEvent:
      state: Finished
      action:
        cmd: ["notify", "card", "custom", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
  Finished:
    UpdateL2AssigneeEvent:
      state: Finished
      action:
        cmd: ["notify", "card", "custom", "oncall"]
        log_on_comment: true

l2-urgent-notify:
  General:
    UpdateL2AssigneeEvent:
      state: Notified1Times
      action:
        cmd: ["notify", "phone", "custom", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
    AcknowledgeEvent:
      state: Finished
    UpdatedStatusToIndeterminateEvent:
      state: Finished
    UpdatedStatusToDoneEvent:
      state: Finished
    UpdatedPriorityEvent:
      state: Finished
  Inited:
  Notified1Times:
    NotifyEvent:
      state: WaitForSecondCall
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
  WaitForSecondCall:
    TimeoutEvent:
      state: Notified2Times
      action:
        cmd: ["notify", "phone", "custom", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
  Notified2Times:
    NotifyEvent:
      state: WaitForThirdCall
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
  WaitForThirdCall:
    TimeoutEvent:
      state: Notified3Times
      action:
        cmd: ["notify", "phone", "custom", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
  Notified3Times:
    NotifyEvent:
      state: Finished
  Finished:

# l2-assign:
#   General:
#     UpdateToEscalateToL3Event:
#       state: Finished
#     UpdatedAssigneeEvent:
#       state: Finished
#   Inited:
#     UpdatedPriorityEvent:
#       state: WaitForAssign
#       action:
#         cmd: ["custom", "customfield_10053"]
#         log_on_comment: true
#         on_success: AssignEvent
#         on_error: AssignErrorEvent
#     UrgentUpdatedPriorityEvent:
#       state: WaitForAssign
#       action:
#         cmd: ["custom", "customfield_10053"]
#         log_on_comment: true
#         on_success: AssignEvent
#         on_error: AssignErrorEvent
#   WaitForAssign:
#     AssignEvent:
#       state: Finished
#     # 第 1 次失败，进入第 1 次两小时等待
#     AssignErrorEvent:
#       state: WaitTimeoutL2_1
#       action:
#         cmd: ["timeout", "7200"]
#         on_success: TimeoutEvent
#   WaitTimeoutL2_1:
#     TimeoutEvent:
#       state: RetryAssignL2_1
#       action:
#         cmd: ["custom", "customfield_10053"]
#         log_on_comment: true
#         on_success: AssignEvent
#         on_error: AssignErrorEvent
#   RetryAssignL2_1:
#     AssignEvent:
#       state: Finished
#     # 第 2 次失败，进入第 2 次等待
#     AssignErrorEvent:
#       state: WaitTimeoutL2_2
#       action:
#         cmd: ["timeout", "7200"]
#         on_success: TimeoutEvent
#   WaitTimeoutL2_2:
#     TimeoutEvent:
#       state: RetryAssignL2_2
#       action:
#         cmd: ["custom", "customfield_10053"]
#         log_on_comment: true
#         on_success: AssignEvent
#         on_error: AssignErrorEvent
#   RetryAssignL2_2:
#     AssignEvent:
#       state: Finished
#     # 第 3 次失败，进入第 3 次等待
#     AssignErrorEvent:
#       state: WaitTimeoutL2_3
#       action:
#         cmd: ["timeout", "7200"]
#         on_success: TimeoutEvent
#   WaitTimeoutL2_3:
#     TimeoutEvent:
#       state: RetryAssignL2_3
#       action:
#         cmd: ["custom", "customfield_10053"]
#         log_on_comment: true
#         on_success: AssignEvent
#         on_error: AssignErrorEvent
#   RetryAssignL2_3:
#     AssignEvent:
#       state: Finished
#     # 第 4 次失败，进入第 4 次等待
#     AssignErrorEvent:
#       state: WaitTimeoutL2_4
#       action:
#         cmd: ["timeout", "7200"]
#         on_success: TimeoutEvent
#   WaitTimeoutL2_4:
#     TimeoutEvent:
#       state: RetryAssignL2_4
#       action:
#         cmd: ["custom", "customfield_10053"]
#         log_on_comment: true
#         on_success: AssignEvent
#         on_error: AssignErrorEvent
#   RetryAssignL2_4:
#     AssignEvent:
#       state: Finished
#     AssignErrorEvent: 
#       state: WaitAssignL3
#       action:
#         cmd: ["assign"]
#         on_success: AssignL3Event
#         log_on_comment: true
#   WaitAssignL3:
#     AssignL3Event:
#       state: Finished
#   Finished:

# l2-assign-direct-l3:
#   General:
#     UpdateToEscalateToL3Event:
#       state: Finished
#     InnerUpdatedAssigneeEvent:
#       state: Finished
#   Inited:
#     UpdatedPriorityEvent:
#       state: WaitForAssign
#       action:
#         cmd: ["custom", "customfield_10053"]
#         log_on_comment: true
#         on_success: AssignEvent
#         on_error: AssignErrorEvent
#     UrgentUpdatedPriorityEvent:
#       state: WaitForAssign
#       action:
#         cmd: ["custom", "customfield_10053"]
#         log_on_comment: true
#         on_success: AssignEvent
#         on_error: AssignErrorEvent
#   WaitForAssign:
#     AssignEvent:
#       state: Finished
#     # 第 1 次失败，进入第 1 次两小时等待
#     AssignErrorEvent:
#       state: WaitAssignL3
#       action:
#         cmd: ["assign"]
#         on_success: AssignL3Event
#         log_on_comment: true
#   WaitAssignL3:
#     AssignL3Event:
#       state: Finished
#   Finished:

devhivery:
  Inited:
    CreatedEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "devhivery", "oncall"]
        on_success: NotifyEvent
    UpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "devhivery", "oncall"]
        on_success: NotifyEvent
    UrgentUpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "devhivery", "oncall"]
        on_success: NotifyEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "devhivery", "oncall"]
        on_success: NotifyEvent
  WaitForNotified:
    NotifyEvent:
      state: Finished
    UpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "devhivery", "oncall"]
        on_success: NotifyEvent
    UrgentUpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "devhivery", "oncall"]
        on_success: NotifyEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "devhivery", "oncall"]
        on_success: NotifyEvent
  Finished:
    NotifyEvent:
      state: Finished
    UpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "devhivery", "oncall"]
        on_success: NotifyEvent
    UrgentUpdatedPriorityEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "devhivery", "oncall"]
        on_success: NotifyEvent
    UpdatedAssigneeEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "devhivery", "oncall"]
        on_success: NotifyEvent

# cloudfb:
#   General:
#     AutoRecoveredEvent:
#       state: Acknowledged
#   Inited:
#     CreatedEvent:
#       state: Created
#       action:
#         cmd: ["assign"]
#         on_success: AssignEvent
#         on_error: ErrorOnAssigningEvent
#   Created:
#     AssignEvent:
#       state: Assigned
#       action:
#         cmd: ["notify", "card", "cloudfb", "alert", "both"]
#         on_success: NotifyEvent
#     ErrorOnAssigningEvent:
#       state: AssignmentError
#       action:
#         cmd: ["notify", "card", "cloudfb", "alert", "both"]
#         on_success: NotifyErrorHandlerEvent
#   Assigned:
#     NotifyEvent:
#       state: NotifiedCFB
#       action:
#         cmd: ["notify", "phone", "assignee", "alert"]
#         log_on_comment: true
#         on_success: NotifyEvent
#   NotifiedCFB:
#     NotifyEvent:
#       state: Notified1Times
#       action:
#         cmd: ["timeout", "480"]
#         on_success: TimeoutEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   Notified1Times:
#     TimeoutEvent:
#       state: Notified1TimesTimeout
#       action:
#         cmd: ["notify", "phone", "assignee", "alert"]
#         log_on_comment: true
#         on_success: NotifyEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   Notified1TimesTimeout:
#     NotifyEvent:
#       state: Notified2Times
#       action:
#         cmd: ["timeout", "480"]
#         on_success: TimeoutEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   Notified2Times:
#     TimeoutEvent:
#       state: Notified2TimesTimeout
#       action:
#         cmd: ["notify", "phone", "assignee", "alert"]
#         log_on_comment: true
#         on_success: NotifyEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   Notified2TimesTimeout:
#     NotifyEvent:
#       state: Notified3Times
#       action:
#         cmd: ["timeout", "480"]
#         on_success: TimeoutEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   Notified3Times:
#     TimeoutEvent:
#       state: Notified3TimesTimeout
#       action:
#         cmd: ["notify", "phone", "secondary", "alert"]
#         log_on_comment: true
#         on_success: NotifiedSecondaryEvent
#         on_error: NotifiedSecondaryErrorEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   Notified3TimesTimeout:
#     NotifiedSecondaryEvent:
#       state: NotifiedSecondary
#       action:
#         cmd: ["timeout", "480"]
#         on_success: TimeoutEvent
#     NotifiedSecondaryErrorEvent:
#       state: NotifiedSecondaryTimeout
#       action:
#         cmd: ["escalate"]
#         log_on_comment: true
#         on_success: EscalateEvent
#         on_error: EscalateErrorEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   NotifiedSecondary:
#     TimeoutEvent:
#       state: NotifiedSecondaryTimeout
#       action:
#         cmd: ["escalate"]
#         log_on_comment: true
#         on_success: EscalateEvent
#         on_error: EscalateErrorEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   NotifiedSecondaryTimeout:
#     EscalateEvent:
#       state: Escalated
#       action:
#         cmd: ["notify", "phone", "assignee", "alert"]
#         log_on_comment: true
#         on_success: NotifyEscalationEvent
#     EscalateErrorEvent:
#       state: EscalateError
#       action:
#         cmd: ["notify", "phone", "firemaster", "alert"]
#         log_on_comment: true
#         on_success: NotifyFiremasterEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   Escalated:
#     NotifyEscalationEvent:
#       state: NotifiedEscalation
#       action:
#         cmd: ["timeout", "480"]
#         on_success: TimeoutEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   EscalateError:
#     NotifyFiremasterEvent:
#       state: NotifiedFiremaster
#       action:
#         cmd: ["timeout", "480"]
#         on_success: TimeoutEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   NotifiedEscalation:
#     TimeoutEvent:
#       state: NotifiedEscalationTimeout
#       action:
#         cmd: ["escalate"]
#         log_on_comment: true
#         on_success: EscalateEvent
#         on_error: EscalateErrorEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   NotifiedEscalationTimeout:
#     EscalateEvent:
#       state: Escalated
#       action:
#         cmd: ["notify", "phone", "assignee", "alert"]
#         log_on_comment: true
#         on_success: NotifyEscalationEvent
#     EscalateErrorEvent:
#       state: EscalateError
#       action:
#         cmd: ["notify", "phone", "firemaster", "alert"]
#         log_on_comment: true
#         on_success: NotifyFiremasterEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   NotifiedFiremaster:
#     TimeoutEvent:
#       state: NotifiedFiremasterTimeout
#       action:
#         cmd: ["notify", "phone", "firemaster", "alert"]
#         log_on_comment: true
#         on_success: NotifiedFiremasterEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   NotifiedFiremasterTimeout:
#     NotifiedFiremasterEvent:
#       state: NotifiedFireMaster2Times
#       action:
#         cmd: ["timeout", "480"]
#         on_success: TimeoutEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   NotifiedFireMaster2Times:
#     TimeoutEvent:
#       state: NotifiedFiremaster2TimesTimeout
#       action:
#         cmd: ["notify", "phone", "siddon", "alert"]
#         log_on_comment: true
#         on_success: NotifiedSiddonEvent
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   NotifiedFiremaster2TimesTimeout:
#     NotifiedSiddonEvent:
#       state: NotifiedSiddon
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   NotifiedSiddon:
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#     UpdatedStatusToDoneEvent:
#       state: Done
#     UpdatedStatusToIndeterminateEvent:
#       state: StrongAcknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent
#   Acknowledged:
#     ReqLogOnCommentEvent:
#       state: AcknowledgedWaitComment
#       action:
#         cmd: ["comment", "ack by completing reading the Feishu message"]
#         on_success: CommentedEvent
#   AcknowledgedWaitComment:
#     CommentedEvent:
#       state: AcknowledgedAndCommented
#   AcknowledgedAndCommented:
#     UpdatedAssigneeEvent:
#       state: Assigned
#       action:
#         cmd: ["notify", "card", "cloudfb", "alert", "both"]
#         on_success: NotifyEvent
#   StrongAcknowledged:
#     ReqLogOnCommentEvent:
#       state: StrongAcknowledgedWaitComment
#       action:
#         cmd: ["comment", 'ack by changing status to "Start Progress"']
#         on_success: CommentedEvent
#   StrongAcknowledgedWaitComment:
#     CommentedEvent:
#       state: StrongAcknowledgedAndCommented
#   StrongAcknowledgedAndCommented:
#   AssignmentError:
#     NotifyErrorHandlerEvent:
#       state: BadEnd
#   BadEnd:
#   Done:
#     AcknowledgeEvent:
#       state: Acknowledged
#       action:
#         cmd: ["eval"]
#         on_success: ReqLogOnCommentEvent

cloudfb-major-or-external-TiDBOutOfMemory:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["assign"]
        on_success: AssignEvent
        on_error: ErrorOnAssigningEvent
  Created:
    AssignEvent:
      state: Assigned
      action:
        cmd: ["notify", "card", "critical_and_major_alerts", "alert", "both"]
        on_success: NotifyEvent
    ErrorOnAssigningEvent:
      state: AssignmentError
      action:
        cmd: ["notify", "card", "critical_and_major_alerts", "alert", "both"]
        on_success: NotifyErrorHandlerEvent
  Assigned:
    NotifyEvent:
      state: NotifiedMajorGroup
      action:
        cmd: ["notify", "card", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEvent
  NotifiedMajorGroup:
    NotifyEvent:
      state: Finished
  Finished:
  AssignmentError:
    NotifyErrorHandlerEvent:
      state: BadEnd
  BadEnd:

cloudfb-major-tse:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["assign", "tse"]
        on_success: AssignEvent
        on_error: ErrorOnAssigningEvent
  Created:
    AssignEvent:
      state: Assigned
      action:
        cmd: ["notify", "card", "critical_and_major_alerts", "alert", "both"]
        on_success: NotifyEvent
    ErrorOnAssigningEvent:
      state: AssignmentError
      action:
        cmd: ["notify", "card", "critical_and_major_alerts", "alert", "both"]
        on_success: NotifyErrorHandlerEvent
  Assigned:
    NotifyEvent:
      state: NotifiedMajorGroup
      action:
        cmd: ["notify", "card", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEvent
  NotifiedMajorGroup:
    NotifyEvent:
      state: Finished
  Finished:
  AssignmentError:
    NotifyErrorHandlerEvent:
      state: BadEnd
  BadEnd:

alertcc-major:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "regioncc", "alert"]
        log_on_comment: true
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "regioncc", "alert"]
        log_on_comment: true
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

platform-prod:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "cp_platform_alert", "alert", "default"]
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "cp_platform_alert", "alert", "default"]
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

platform-prod-cc-leader:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "phone", "static-wangbing", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

account-prod:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "account_alert", "alert", "both"]
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "account_alert", "alert", "both"]
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

dataservice-prod:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "dataservice_alert", "alert", "default"]
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "dataservice_alert", "alert", "default"]
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

billing-prod:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "billing_alert", "alert", "both"]
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "billing_alert", "alert", "both"]
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

auto-prod:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "auto", "alert", "both"]
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "auto", "alert", "both"]
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

auto-staging-dev:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "autonomous_staging_alert", "alert", "both"]
        on_success: NotifyEvent
  Created:
    NotifyEvent:
      state: Finished
  Finished:

serverless-prod:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "dev_tier_prod_alert", "alert", "both"]
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "dev_tier_prod_alert", "alert", "both"]
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

serverless-prod-warning:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd:
          ["notify", "card", "serverless_prod_alert_warning", "alert", "both"]
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd:
          ["notify", "card", "serverless_prod_alert_warning", "alert", "both"]
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

drill:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "5"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "chaos_experiment", "alert"]
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "chaos_experiment", "alert"]
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

dm-update:
  Inited:
    UpdatedFixVersionEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "dm", "dm"]
        on_success: NotifyEvent
  WaitForNotified:
    NotifyEvent:
      state: Finished
    UpdatedFixVersionEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "dm", "dm"]
        on_success: NotifyEvent
  Finished:
    NotifyEvent:
      state: Finished
    UpdatedFixVersionEvent:
      state: WaitForNotified
      action:
        cmd: ["notify", "card", "dm", "dm"]
        on_success: NotifyEvent

generate-report:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["report"]
        log_on_comment: true
        on_success: GenerateReportEvent
  Created:
    GenerateReportEvent:
      state: Finished
  Finished:

backfill:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["backfill"]
        log_on_comment: true
        on_success: BackfilledEvent
  Created:
    BackfilledEvent:
      state: Finished
  Finished:

oss-tcoc-or-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "oss", "oss"]
        on_success: NotifiedOssEvent
  Created:
    NotifiedOssEvent:
      state: Finished
  Finished:

certik-tcoc-or-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "certik", "certik"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

nftscan-tcoc-or-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "nftscan", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

wetech-tcoc-or-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "wetech", "alert_stability"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

wetech-tcoc-or-o11y-external:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "wetech-external", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

wetech-tcoc-or-o11y-external-test:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "wetech-external", "alert-green"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

dm-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd:
          [
            "notify",
            "card",
            "dm_import_alert_channel",
            "alert_stability",
            "both",
          ]
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd:
          [
            "notify",
            "card",
            "dm_import_alert_channel",
            "alert_stability",
            "both",
          ]
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

cloud-service:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["assign"]
        on_success: AssignEvent
        on_error: ErrorOnAssigningEvent
  Created:
    AssignEvent:
      state: Assigned
      action:
        cmd: ["notify", "card", "tidb_service_oncall_internal", "alert"]
        on_success: NotifyEvent
    ErrorOnAssigningEvent:
      state: AssignmentError
      action:
        cmd: ["notify", "card", "ctidb_service_oncall_internal", "alert"]
        on_success: NotifyErrorHandlerEvent
  Assigned:
    NotifyEvent:
      state: NotifiedMajorGroup
      action:
        cmd: ["notify", "card", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEvent
  NotifiedMajorGroup:
    NotifyEvent:
      state: Finished
  Finished:
  AssignmentError:
    NotifyErrorHandlerEvent:
      state: BadEnd
  BadEnd:

aipower-prod:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "ai_power_prod_alerts", "alert", "both"]
        on_success: NotifiedOssEvent
  Created:
    NotifiedOssEvent:
      state: Finished
  Finished:

prod-br:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "dbaas_br_oncall", "alert", "both"]
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "dbaas_br_oncall", "alert", "both"]
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

dataflow-prod:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "dataflow_service_alert", "alert", "both"]
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "dataflow_service_alert", "alert", "both"]
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

prod-cdc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "dbaas_ticdc_oncall", "alert", "both"]
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "dbaas_ticdc_oncall", "alert", "both"]
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

square-tcoc-or-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "square_enix", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

capcom-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "deal_capcom", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

toppan-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "deal_toppan", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

istyle-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "deal_istyle", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

mercari-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "deal_mercari", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

ctw-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "deal_ctw", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

elestyle-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "deal_elestyle", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

cpa-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "deal_cpa", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

plaid-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "deal_plaid", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

colopl-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "deal_colopl", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

micoworks-o11y:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "deal_micoworks", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

sla-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "ee", "alert", "both"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

tidb-management-service-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "tidb-management-service-cc", "alert", "both"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

tidb-management-service-major-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "tidb_management_service_alert_major", "alert", "both"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

pixl8-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "pixl8", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

shopline-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "shopline", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

bcbga-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "bcbga", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

yyds-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "yyds", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

snocko-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "snocko", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

pionex-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "pionex", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

jiamin-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "static-jiamin", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

clinic-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "clinic-cc", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

bluewhale-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "bluewhale", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

shoplazza-internal-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "shoplazza-internal", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

catalyst-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "catalyst", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

ponyft-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "ponyft-cc", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

bingo-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "bingo-cc", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

bingo-cc-important:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "bingo-cc-important", "alert_external"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

emea_alert:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "emea_alert", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

drive9_alert:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "drive9_alert", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

resilience_alert:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "resilience_alert", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

tagasiagame_external:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "tagasiagame_external", "alert_external"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

bingo-cc-internal:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "digiplus_testing", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

azure-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "azure_alerts", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

dyna-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "dyna_internal_webhook", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

supterstudio-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "supterstudio-cc", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

ivi-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "customer_ivi_webhook", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

cloud-finops-system-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "finops_system_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

wetech-cc-hou:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "static-hou", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

bw-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "bw_internal_webhook", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

ue-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "ue_poc", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

cluster-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd:
          ["notify", "card", "dedicated_alerts", "alert_stability", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

bn-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "ue_rd_work", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

jp-advocate-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "jpg_advocate", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

petlibro-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "petlibro_customer_group", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

manus-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "manus_customer_group", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

next-gen-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "cluster_next_gen_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

next-gen-cc-kernel:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "premium_alerts", "alert_stability"]
        log_on_comment: true
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "premium_alerts", "alert_stability"]
        log_on_comment: true
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

next-gen-cluster-service-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd:
          [
            "notify",
            "card",
            "next_gen_cluster_service_alert",
            "alert",
            "default",
          ]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

alert_stability_governance:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "alert_stability_governance", "alert_stability"]
        log_on_comment: true
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "alert_stability_governance", "alert_stability"]
        log_on_comment: true
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

alert_stability_governance-test:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "10"]
        on_success: TimeoutEvent
  Created:
    TimeoutEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "dedicated_new_alerts_for_test", "alert_stability"]
        log_on_comment: true
        on_success: NotifyEvent
    InnerUpdatedAssigneeEvent:
      state: MayUpdatedAssignee
      action:
        cmd: ["notify", "card", "dedicated_new_alerts_for_test", "alert_stability"]
        log_on_comment: true
        on_success: NotifyEvent
  MayUpdatedAssignee:
    NotifyEvent:
      state: Finished
  Finished:

external_bn_production:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "external_bn_production", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

external_bn_qa:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "external_bn_qa", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

alerts_cdc_kernel:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "alerts_cdc_kernel", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

kuaiwan-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "kuaiwan_customer_group", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

bingo-brazil-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd:
          ["notify", "card", "external_bingo_brazil_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

bingo-kernel-support-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd:
          [
            "notify",
            "card",
            "bingoplus_kernel_support_swat",
            "alert",
            "default",
          ]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

propertyme-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "propertyme_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

churn-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "apac_cloud_alerts_webhook", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

iops-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "tidb_cloud_disk_issue", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

cloudfb:
  General:
    AutoRecoveredEvent:
      state: Acknowledged
    # AcknowledgeEvent:
    #   state: Acknowledged
    #   action:
    #     cmd: ["eval"]
    #     on_success: ReqLogOnCommentEvent
    UpdatedStatusToDoneEvent:
      state: Done
    UpdatedStatusToIndeterminateEvent:
      state: StrongAcknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdateAssigneeWhenInProgressEvent:
      state: Reassigned
      action:
        cmd: ["transition", "31"] # Transition to "To Do" status
        on_success: TransitionSuccessEvent
        on_error: TransitionErrorEvent
        log_on_comment: true
  Reassigned:
    TransitionSuccessEvent:
      state: Assigned
      action:
        cmd: ["notify", "card", "cloudfb", "alert", "both"]
        on_success: NotifyEvent
    TransitionErrorEvent:
      state: BadEnd
      action:
        cmd:
          [
            "comment",
            "Failed to transition issue to 'To Do' status. Please notify the assignee manually.",
          ]
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["assign"]
        on_success: AssignEvent
        on_error: ErrorOnAssigningEvent
  Created:
    AssignEvent:
      state: Assigned
      action:
        cmd: ["notify", "card", "cloudfb", "alert", "both"]
        on_success: NotifyEvent
    ErrorOnAssigningEvent:
      state: AssignmentError
      action:
        cmd: ["notify", "card", "cloudfb", "alert", "both"]
        on_success: NotifyErrorHandlerEvent
  Assigned:
    NotifyEvent:
      state: NotifiedCFB
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEvent
  NotifiedCFB:
    NotifyEvent:
      state: Notified1Times
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
  Notified1Times:
    TimeoutEvent:
      state: Notified1TimesTimeout
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEvent

  Notified1TimesTimeout:
    NotifyEvent:
      state: Notified2Times
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent

  Notified2Times:
    TimeoutEvent:
      state: Notified2TimesTimeout
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEvent

  Notified2TimesTimeout:
    NotifyEvent:
      state: Notified3Times
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent

  Notified3Times:
    TimeoutEvent:
      state: NotifiedSecondaryTimeout
      action:
        cmd: ["escalate"]
        log_on_comment: true
        on_success: EscalateEvent
        on_error: EscalateErrorEvent

  Notified3TimesTimeout:
    NotifiedSecondaryEvent:
      state: NotifiedSecondary
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
    NotifiedSecondaryErrorEvent:
      state: NotifiedSecondaryTimeout
      action:
        cmd: ["escalate"]
        log_on_comment: true
        on_success: EscalateEvent
        on_error: EscalateErrorEvent

  NotifiedSecondary:
    TimeoutEvent:
      state: NotifiedSecondaryTimeout
      action:
        cmd: ["escalate"]
        log_on_comment: true
        on_success: EscalateEvent
        on_error: EscalateErrorEvent

  NotifiedSecondaryTimeout:
    EscalateEvent:
      state: Escalated
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEscalationEvent
    EscalateErrorEvent:
      state: EscalateError
      action:
        cmd: ["notify", "phone", "firemaster", "alert"]
        log_on_comment: true
        on_success: NotifyFiremasterEvent

  Escalated:
    NotifyEscalationEvent:
      state: NotifiedEscalation
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent

  EscalateError:
    NotifyFiremasterEvent:
      state: NotifiedFiremaster
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent

  NotifiedEscalation:
    TimeoutEvent:
      state: NotifiedEscalationTimeout
      action:
        cmd: ["escalate"]
        log_on_comment: true
        on_success: EscalateEvent
        on_error: EscalateErrorEvent

  NotifiedEscalationTimeout:
    EscalateEvent:
      state: Escalated
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEscalationEvent
    EscalateErrorEvent:
      state: EscalateError
      action:
        cmd: ["notify", "phone", "firemaster", "alert"]
        log_on_comment: true
        on_success: NotifyFiremasterEvent

  NotifiedFiremaster:
    TimeoutEvent:
      state: NotifiedFiremasterTimeout
      action:
        cmd: ["notify", "phone", "firemaster", "alert"]
        log_on_comment: true
        on_success: NotifiedFiremasterEvent

  NotifiedFiremasterTimeout:
    NotifiedFiremasterEvent:
      state: NotifiedFireMaster2Times
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent

  NotifiedFireMaster2Times:
    TimeoutEvent:
      state: NotifiedFiremaster2TimesTimeout
      action:
        cmd: ["notify", "phone", "siddon", "alert"]
        log_on_comment: true
        on_success: NotifiedSiddonEvent

  NotifiedFiremaster2TimesTimeout:
    NotifiedSiddonEvent:
      state: NotifiedSiddon

  NotifiedSiddon:

  Acknowledged:
    ReqLogOnCommentEvent:
      state: AcknowledgedWaitComment
      action:
        cmd: ["comment", "ack by completing reading the Feishu message"]
        on_success: CommentedEvent
  AcknowledgedWaitComment:
    CommentedEvent:
      state: AcknowledgedAndCommented
  AcknowledgedAndCommented:
    UpdatedAssigneeEvent:
      state: Assigned
      action:
        cmd: ["notify", "card", "cloudfb", "alert", "both"]
        on_success: NotifyEvent
  StrongAcknowledged:
    ReqLogOnCommentEvent:
      state: StrongAcknowledgedWaitComment
      action:
        cmd: ["comment", 'ack by changing status to "Start Progress"']
        on_success: CommentedEvent
  StrongAcknowledgedWaitComment:
    CommentedEvent:
      state: StrongAcknowledgedAndCommented
  StrongAcknowledgedAndCommented:
  AssignmentError:
    NotifyErrorHandlerEvent:
      state: BadEnd
  BadEnd:
  Done:

cloudfb-leader:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["timeout", "1200"]
        on_success: TimeoutEvent
  Created:
    UpdatedStatusToDoneEvent:
      state: Finished
    TimeoutEvent:
      state: WaitNotifyLeader
      action:
        cmd: ["notify", "card", "leader", "alert"]
        on_success: NotifyLeaderEvent
  WaitNotifyLeader:
    NotifyLeaderEvent:
      state: Finished
  Finished:

wetech-stability-governance-critical:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "static-changqiang", "alert"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: WaitForNotifySecond
      cmd: ["notify", "card", "static-zhoujian", "alert"]
      on_success: NotifyEvent
  WaitForNotifySecond:
    NotifyEvent:
      state: Finished
  Finished:

big3-http-forward:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["http_forward", "POST", "http://ec2-35-89-86-210.us-west-2.compute.amazonaws.com/alert"]
        on_success: HttpForwardSuccessEvent
        on_error: HttpForwardErrorEvent
  Created:
    HttpForwardSuccessEvent:
      state: Finished
    HttpForwardErrorEvent:
      state: Error
  Finished:
  Error:

cloudfb-next-gen:
  General:
    AutoRecoveredEvent:
      state: Acknowledged
    # AcknowledgeEvent:
    #   state: Acknowledged
    #   action:
    #     cmd: ["eval"]
    #     on_success: ReqLogOnCommentEvent
    UpdatedStatusToDoneEvent:
      state: Done
    UpdatedStatusToIndeterminateEvent:
      state: StrongAcknowledged
      action:
        cmd: ["eval"]
        on_success: ReqLogOnCommentEvent
    UpdateAssigneeWhenInProgressEvent:
      state: Reassigned
      action:
        cmd: ["transition", "31"] # Transition to "To Do" status
        on_success: TransitionSuccessEvent
        on_error: TransitionErrorEvent
        log_on_comment: true
  Reassigned:
    TransitionSuccessEvent:
      state: Assigned
      action:
        cmd: ["notify", "card", "cloudfb", "alert", "both"]
        on_success: NotifyEvent
    TransitionErrorEvent:
      state: BadEnd
      action:
        cmd:
          [
            "comment",
            "Failed to transition issue to 'To Do' status. Please notify the assignee manually.",
          ]
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["assign"]
        on_success: AssignEvent
        on_error: ErrorOnAssigningEvent
  Created:
    AssignEvent:
      state: Assigned
      action:
        cmd: ["notify", "card", "cloudfb", "alert", "both"]
        on_success: NotifyEvent
    ErrorOnAssigningEvent:
      state: AssignmentError
      action:
        cmd: ["notify", "card", "cloudfb", "alert", "both"]
        on_success: NotifyErrorHandlerEvent
  Assigned:
    NotifyEvent:
      state: NotifiedCFB
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEvent
  NotifiedCFB:
    NotifyEvent:
      state: Notified1Times
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
  Notified1Times:
    TimeoutEvent:
      state: Notified1TimesTimeout
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEvent

  Notified1TimesTimeout:
    NotifyEvent:
      state: Notified2Times
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent

  Notified2Times:
    TimeoutEvent:
      state: Notified2TimesTimeout
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEvent

  Notified2TimesTimeout:
    NotifyEvent:
      state: Notified3Times
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent

  Notified3Times:
    TimeoutEvent:
      state: NotifiedSecondaryTimeout
      action:
        cmd: ["escalate"]
        log_on_comment: true
        on_success: EscalateEvent
        on_error: EscalateErrorEvent

  Notified3TimesTimeout:
    NotifiedSecondaryEvent:
      state: NotifiedSecondary
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
    NotifiedSecondaryErrorEvent:
      state: NotifiedSecondaryTimeout
      action:
        cmd: ["escalate"]
        log_on_comment: true
        on_success: EscalateEvent
        on_error: EscalateErrorEvent

  NotifiedSecondary:
    TimeoutEvent:
      state: NotifiedSecondaryTimeout
      action:
        cmd: ["escalate"]
        log_on_comment: true
        on_success: EscalateEvent
        on_error: EscalateErrorEvent

  NotifiedSecondaryTimeout:
    EscalateEvent:
      state: Escalated
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEscalationEvent
    EscalateErrorEvent:
      state: EscalateError
      action:
        cmd: ["notify", "phone", "firemaster", "alert"]
        log_on_comment: true
        on_success: NotifyFiremasterEvent

  Escalated:
    NotifyEscalationEvent:
      state: NotifiedEscalation
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent

  EscalateError:
    NotifyFiremasterEvent:
      state: NotifiedFiremaster
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent

  NotifiedEscalation:
    TimeoutEvent:
      state: NotifiedEscalationTimeout
      action:
        cmd: ["escalate"]
        log_on_comment: true
        on_success: EscalateEvent
        on_error: EscalateErrorEvent

  NotifiedEscalationTimeout:
    EscalateEvent:
      state: EscalatedTwice
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEscalationEvent
    EscalateErrorEvent:
      state: EscalateError
      action:
        cmd: ["notify", "phone", "firemaster", "alert"]
        log_on_comment: true
        on_success: NotifyFiremasterEvent
  
  EscalatedTwice:
    NotifyEscalationEvent:
      state: NotifiedEscalationTwice
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
  
  NotifiedEscalationTwice:
    TimeoutEvent:
      state: NotifiedEscalationTwiceTimeout
      action:
        cmd: ["escalate"]
        log_on_comment: true
        on_success: EscalateEvent
        on_error: EscalateErrorEvent
  
  NotifiedEscalationTwiceTimeout:
    EscalateEvent:
      state: EscalatedThrice
      action:
        cmd: ["notify", "phone", "assignee", "alert"]
        log_on_comment: true
        on_success: NotifyEscalationEvent
    EscalateErrorEvent:
      state: EscalateError
      action:
        cmd: ["notify", "phone", "firemaster", "alert"]
        log_on_comment: true
        on_success: NotifyFiremasterEvent

  EscalatedThrice:
    NotifyEscalationEvent:
      state: NotifiedEscalationThrice
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent
  
  NotifiedEscalationThrice:
    TimeoutEvent:
      state: NotifiedEscalationThriceTimeout
      action:
        cmd: ["notify", "phone", "firemaster", "alert"]
        log_on_comment: true
        on_success: NotifiedFiremasterEvent

  NotifiedEscalationThriceTimeout:
    TimeoutEvent:
      state: NotifiedFiremasterTimeout
      action:
        cmd: ["notify", "phone", "firemaster", "alert"]
        log_on_comment: true
        on_success: NotifiedFiremasterEvent

  NotifiedFiremasterTimeout:
    NotifiedFiremasterEvent:
      state: NotifiedFireMaster2Times
      action:
        cmd: ["timeout", "480"]
        on_success: TimeoutEvent

  NotifiedFireMaster2Times:
    TimeoutEvent:
      state: NotifiedFiremaster2TimesTimeout
      action:
        cmd: ["notify", "phone", "siddon", "alert"]
        log_on_comment: true
        on_success: NotifiedSiddonEvent

  NotifiedFiremaster2TimesTimeout:
    NotifiedSiddonEvent:
      state: NotifiedSiddon

  NotifiedSiddon:

  Acknowledged:
    ReqLogOnCommentEvent:
      state: AcknowledgedWaitComment
      action:
        cmd: ["comment", "ack by completing reading the Feishu message"]
        on_success: CommentedEvent
  AcknowledgedWaitComment:
    CommentedEvent:
      state: AcknowledgedAndCommented
  AcknowledgedAndCommented:
    UpdatedAssigneeEvent:
      state: Assigned
      action:
        cmd: ["notify", "card", "cloudfb", "alert", "both"]
        on_success: NotifyEvent
  StrongAcknowledged:
    ReqLogOnCommentEvent:
      state: StrongAcknowledgedWaitComment
      action:
        cmd: ["comment", 'ack by changing status to "Start Progress"']
        on_success: CommentedEvent
  StrongAcknowledgedWaitComment:
    CommentedEvent:
      state: StrongAcknowledgedAndCommented
  StrongAcknowledgedAndCommented:
  AssignmentError:
    NotifyErrorHandlerEvent:
      state: BadEnd
  BadEnd:
  Done:

next-gen-import-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "next_gen_import_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

next-gen-prod-cluster-alerts-cc-ap-southeast-1:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "ap_southeast_1_next_gen_cluster_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

next-gen-prod-cluster-alerts-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "prod_next_gen_cluster_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

premium_end_user_alert:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "external_premium_alert_4_bingoplus", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

external_bitget_alert:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "external_bitget_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

dedicated_new_alerts_new_japan_tenant:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "dedicated_new_alerts_new_japan_tenant", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

cluster_service_workflow_completion:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "cluster_service_workflow_completion", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

ue_nextgen_alert_cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "ue_nextgen_alert_cc", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

nbp-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "nbp_internal_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

serverless_prod_tikv_tiflash:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "serverless_prod_tikv_tiflash", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

laaffic_internal_alert:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "laaffic_internal_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

plaud_internal_alert:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "plaud_internal_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

hlgaming_internal_alert:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "hlgaming_internal_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

plaud_external_alert:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "plaud_external_alert", "alert_external", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

ticket-cc:
  Inited:
    UpgradeToL2Event:
      state: Created
      action:
        cmd: ["notify", "card", "ticket", "oncall"]
        on_success: NotifiedCertikEvent
  Created:
     NotifiedCertikEvent:
      state: Finished
  Finished:

ticket-notify-assignee:
  Inited:
    UpdateAssigneeEvent:
      state: WaitForNotify
      action:
        cmd: ["notify", "card", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
  WaitForNotify:
     NotifyEvent:
      state: Finished
     UpdateAssigneeEvent:
      state: WaitForNotify
      action:
        cmd: ["notify", "card", "assignee", "oncall"]
        log_on_comment: true
        on_success: NotifyEvent
  Finished:
    UpdateAssigneeEvent:
      state: Finished
      action:
        cmd: ["notify", "card", "assignee", "oncall"]
        log_on_comment: true

premium_preview_internal_alert:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "premium_preview_internal_alert", "alert_external", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

plaud-external-assign:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["assign"]
        on_success: AssignedEvent
  Created:
    AssignedEvent:
      state: Assigned
  Assigned:

mem9-cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "mem9_internal_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

serverless-external:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "essential_customer_alert", "alert_external", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

ue-cassandra-external:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "ue_cassandra_alert", "alert_external"]
        on_success: NotifiedEvent
  Created:
    NotifiedEvent:
      state: Finished
  Finished:

cassandra-internal:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "cassandra-internal", "alert", "default"]
        on_success: NotifiedEvent
  Created:
    NotifiedEvent:
      state: Finished
  Finished:

tidb_x_oncall_internal_alert:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "tidb_x_oncall_internal_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

grab_cc:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "grab_cc", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

bu_internal_alert:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "bu_internal_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

openvision_internal:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "openvision_internal", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

autoscale_prod:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "autoscale_prod", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:

prod_test_alert:
  Inited:
    CreatedEvent:
      state: Created
      action:
        cmd: ["notify", "card", "prod_test_alert", "alert", "default"]
        on_success: NotifiedCertikEvent
  Created:
    NotifiedCertikEvent:
      state: Finished
  Finished:
