Jira Integration: fix for handling jira api v3 with ADF
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.