alertmanager icon indicating copy to clipboard operation
alertmanager copied to clipboard

Jira Integration: fix for handling jira api v3 with ADF

Open holger-waschke opened this issue 3 months ago • 0 comments

this resolves https://github.com/prometheus/alertmanager/issues/4585

Description has to be of type any in the struct to be able to parse it as string (for api v2) or as rawJSON (for api v3) It´s not enough to parse it as a JSON in a string and then do the JSON Encoding. This results in incorrect encoding:

wrong: "{\"fields\":{\"description\":\"\\n{\\n \\\"version\\\": 1,\\n \\\"type\\\": \\\"doc\\\",\\n \\\"content\\\": [\\n {\\n \\\"type\\\": \\\"paragraph\\\",\\n \\\"content\\\": [\\n {\\n \\\"type\\\": \\\"text\\\",\\n \\\"text\\\": \\\"Hello \\\"\\n },\\n {\\n \\\"type\\\": \\\"text\\\",\\n \\\"text\\\": \\\"world\\\",\\n \\\"marks\\\": [\\n {\\n \\\"type\\\": \\\"strong\\\"\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n}\",\"issuetype\":{\"name\":\"Alarm\"},\"labels\":[\"ALERT{d95eb188699ae81ab...+133 more"

Correctly encoded with rawjson: "{\"fields\":{\"description\":{\"version\":1,\"type\":\"doc\",\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"Hello \"},{\"type\":\"text\",\"text\":\"world\",\"marks\":[{\"type\":\"strong\"}]}]}]},\"issuetype\":{\"name\":\"Alarm\"},\"labels\":[\"ALERT{2e7c5964e80dc3b92649fe2211e1f0f55704739f6f819c606ae0176296f0c91a}\"],\"project\":{\"key\":\"ASPMIG\"},\"summary\":\"[ABNAHME][FIRING:1]newsystem_test_aler0t \"}}\n"

tested both ways. rendered trough a template

{{ define "jira.v3.descriptioncustom" }}
{
  "version": 1,
  "type": "doc",
  "content": [
    {
      "type": "paragraph",
      "content": [
        {
          "type": "text",
          "text": "Hello "
        },
        {
          "type": "text",
          "text": "world",
          "marks": [
            {
              "type": "strong"
            }
          ]
        }
      ]
    }
  ]
}

or direct in the config

receivers:
- name: jira_asp_alarm
  jira_configs:
  - project: ASPMIG
    issue_type: Alarm
    description:
      enable_update: true
      template: |-
        {
        "version": 1,
        "type": "doc",
        "content": [
          {
            "type": "paragraph",
            "content": [
              {
                "type": "text",
                "text": "Hello "
              },
              {
                "type": "text",
                "text": "world",
                "marks": [
                  {
                    "type": "strong"
                  }
                  ]
                }
              ]
            }
          ]
        }
    summary:
      enable_update: true

both work.

ToDo: Provide a description v3 template which all labels included.

holger-waschke avatar Nov 19 '25 19:11 holger-waschke