---
extractors:
  webhook_event: "{{ .JiraWebhookEvent.WebhookEvent }}"
  changed_fields: "{{range .JiraWebhookEvent.Changelog.Items}}<{{.Field}}>{{end}}"
  status_cat: "{{ .JiraWebhookEvent.Issue.Fields.Status.StatusCategory.Key }}"
  priority: "{{ .JiraWebhookEvent.Issue.Fields.Priority.Name }}"
  # MIGRATE RELATED
  alert_required: "{{ with .JiraWebhookEvent.Issue.Fields.Unknowns.customfield_10223 }}{{ .value }}{{ end }}"
  alarm: "{{ with .JiraWebhookEvent.Issue.Fields.Unknowns.customfield_10150 }}{{ .value }}{{ end }}"
routes:
  - receiver: CreatedEvent
    match:
      webhook_event: jira:issue_created
  - receiver: UpdatedAssigneeEvent
    match:
      webhook_event: jira:issue_updated
      changed_fields: <assignee>
  - receiver: UrgentUpdatedPriorityEvent
    match:
      webhook_event: jira:issue_updated
      changed_fields: <priority>
      priority: ^(P0|P1)$
      "!alert_required": ^No$
      "!alarm": ^No$
  - receiver: UpdatedPriorityEvent
    match:
      webhook_event: jira:issue_updated
      changed_fields: <priority>
  - receiver: UpdatedFixVersionEvent
    match:
      webhook_event: jira:issue_updated
      changed_fields: <Fix Version>
  - receiver: UpdatedStatusToIndeterminateEvent
    match:
      webhook_event: jira:issue_updated
      changed_fields: .*<status>.*
      status_cat: "indeterminate"
  - receiver: UpdatedStatusToDoneEvent
    match:
      webhook_event: jira:issue_updated
      changed_fields: .*<status>.*
      status_cat: "done"
  - receiver: UpdatedStatusToNewEvent
    match:
      webhook_event: jira:issue_updated
      changed_fields: .*<status>.*
      status_cat: "new"