flashduty-knowledge-base 1.2.7 → 1.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/en.d.ts +2 -0
- package/dist/esm/en.js +226 -117
- package/dist/esm/zh.js +218 -108
- package/dist/iife/en.js +218 -109
- package/dist/iife/zh.js +205 -95
- package/dist/zh.d.ts +2 -0
- package/package.json +1 -1
package/dist/en.d.ts
CHANGED
package/dist/esm/en.js
CHANGED
|
@@ -3267,7 +3267,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3267
3267
|
|
|
3268
3268
|
</div>
|
|
3269
3269
|
|
|
3270
|
-
`,
|
|
3270
|
+
`,L=`---
|
|
3271
3271
|
title: "Dynatrace Alert Events"
|
|
3272
3272
|
description: "Sync Dynatrace alert events to Flashduty via webhook to achieve automated alert noise reduction."
|
|
3273
3273
|
date: "2024-08-20T10:00:00+08:00"
|
|
@@ -3374,7 +3374,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3374
3374
|
|CUSTOM_ALERT|Info|info|
|
|
3375
3375
|
|
|
3376
3376
|
</div>
|
|
3377
|
-
`,
|
|
3377
|
+
`,_=`---
|
|
3378
3378
|
title: "Huawei Cloud LTS Alert Events"
|
|
3379
3379
|
description: "Sync Huawei Cloud Log Tank Service (LTS) alert events to Flashduty via webhook for automated alert noise reduction."
|
|
3380
3380
|
date: "2024-08-20T10:00:00+08:00"
|
|
@@ -4522,7 +4522,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
4522
4522
|
| North | Beijing2/Changchun/Harbin/North China/Inner Mongolia3/Qingdao/Shenyang3/Shijiazhuang/Taiyuan/Tianjin/Zhengzhou |
|
|
4523
4523
|
|
|
4524
4524
|
</div>
|
|
4525
|
-
`,
|
|
4525
|
+
`,q=`---
|
|
4526
4526
|
title: "Guance Alert Events"
|
|
4527
4527
|
description: "Sync Guance alert events to Flashduty via webhook for automated alert noise reduction"
|
|
4528
4528
|
date: "2024-07-05T10:00:00+08:00"
|
|
@@ -4607,7 +4607,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
4607
4607
|
| Data Missing | Info | Info |
|
|
4608
4608
|
|
|
4609
4609
|
</div>
|
|
4610
|
-
`,
|
|
4610
|
+
`,G=`---
|
|
4611
4611
|
title: "Zilliz Alert Events"
|
|
4612
4612
|
description: "Sync Zilliz alert events to Flashduty via webhook for automated alert noise reduction"
|
|
4613
4613
|
date: "2024-07-05T10:00:00+08:00"
|
|
@@ -4874,7 +4874,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
4874
4874
|
|
|
4875
4875
|
</div>
|
|
4876
4876
|
|
|
4877
|
-
|
|
4877
|
+
`,$=`---
|
|
4878
4878
|
title: "Keep Alert Integration Guide"
|
|
4879
4879
|
description: "Push alert events to Flashduty through Keep's Provider to achieve automated alert noise reduction."
|
|
4880
4880
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -4955,7 +4955,7 @@ Field|Required|Type|Definition
|
|
|
4955
4955
|
|
|
4956
4956
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/en/fd/keep-2.png" />
|
|
4957
4957
|
|
|
4958
|
-
|
|
4958
|
+
`,j=`---
|
|
4959
4959
|
title: "ElastAlert2 Alert Integration Guide"
|
|
4960
4960
|
description: "Push alert events to Flashduty through ElastAlert2's Provider to achieve automated alert noise reduction."
|
|
4961
4961
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -5076,7 +5076,7 @@ flashduty_env: "dev"
|
|
|
5076
5076
|
# ------- FlashDuty ----------------
|
|
5077
5077
|
\`\`\`
|
|
5078
5078
|
|
|
5079
|
-
5. Restart ElastAlert and wait for the alert to trigger.`,
|
|
5079
|
+
5. Restart ElastAlert and wait for the alert to trigger.`,H=`---
|
|
5080
5080
|
title: "Dingtalk Alert Integration"
|
|
5081
5081
|
description: "Generate a unique Dingtalk robot address in Flashduty, and synchronize the occurrence and recovery of alerts through Dingtalk"
|
|
5082
5082
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -5651,9 +5651,9 @@ After the application is released, you can access it via mobile/PC client. First
|
|
|
5651
5651
|
- Return to the escalation rule configuration page, refresh and reselect the group chat list
|
|
5652
5652
|
- If still unable to get the group chat list, try uninstalling the Cool App from the group and repeat the above steps. If it still doesn't work, please contact customer or dedicated technical support
|
|
5653
5653
|
|
|
5654
|
-
<img src="https://download.flashcat.cloud/flashduty/doc/en/
|
|
5654
|
+
<img src="https://download.flashcat.cloud/flashduty/doc/en/dingtalk-install-1.png" alt="drawing" width="500"/>
|
|
5655
5655
|
|
|
5656
|
-
<img src="https://download.flashcat.cloud/flashduty/doc/en/
|
|
5656
|
+
<img src="https://download.flashcat.cloud/flashduty/doc/en/dingtalk-install-2.png" alt="drawing" width="500"/>
|
|
5657
5657
|
|
|
5658
5658
|
4. **Dingtalk Custom Application API Call Limits:** [Dingtalk Documentation](https://open.dingtalk.com/document/orgapp/descriptions-about-adjusting-limit-and-frequency-of-api-calls?spm=ding_open_doc.document.0.0.6f6b21d9WtkxJI)
|
|
5659
5659
|
|
|
@@ -7119,7 +7119,7 @@ Feishu/Lark bot supports message cards, rich text, and plain text formats. The d
|
|
|
7119
7119
|
|
|
7120
7120
|
1. Message Card
|
|
7121
7121
|
msg_type is required, value should be interactive
|
|
7122
|
-
\`\`\`
|
|
7122
|
+
\`\`\`json
|
|
7123
7123
|
{
|
|
7124
7124
|
"msg_type": "interactive",
|
|
7125
7125
|
"card": {
|
|
@@ -7139,46 +7139,58 @@ msg_type is required, value should be interactive
|
|
|
7139
7139
|
"fields": [{
|
|
7140
7140
|
"text": {
|
|
7141
7141
|
"tag": "lark_md",
|
|
7142
|
-
"content": "**🏢 Channel
|
|
7142
|
+
"content": "**🏢 Channel: **{{.ChannelName}}"
|
|
7143
|
+
}
|
|
7144
|
+
},
|
|
7145
|
+
{
|
|
7146
|
+
"text": {
|
|
7147
|
+
"tag": "lark_md",
|
|
7148
|
+
"content": "**{{if eq .IncidentSeverity "Critical"}}🔴{{else if eq .IncidentSeverity "Warning"}}⚠️{{else}}ℹ️{{end}} Severity: **{{.IncidentSeverity}}"
|
|
7143
7149
|
}
|
|
7144
7150
|
},
|
|
7145
7151
|
{
|
|
7146
7152
|
"text": {
|
|
7147
7153
|
"tag": "lark_md",
|
|
7148
|
-
"content": "
|
|
7154
|
+
"content": "**⏰ Triggered at: **{{date "2006-01-02 15:04:05" .StartTime}}"
|
|
7149
7155
|
}
|
|
7150
7156
|
},
|
|
7157
|
+
{{if gt .AlertCnt 1}}
|
|
7151
7158
|
{
|
|
7152
7159
|
"text": {
|
|
7153
7160
|
"tag": "lark_md",
|
|
7154
|
-
"content": "
|
|
7161
|
+
"content": "**🔔 Grouped alerts: **{{.AlertCnt}}"
|
|
7155
7162
|
}
|
|
7156
7163
|
},
|
|
7164
|
+
{{end}}{{if .Labels.resource}}
|
|
7157
7165
|
{
|
|
7166
|
+
"tag": "div",
|
|
7158
7167
|
"text": {
|
|
7159
7168
|
"tag": "lark_md",
|
|
7160
|
-
"content": "
|
|
7169
|
+
"content": {{printf "%q" (print "**📌 Resources: **" (joinAlertLabels . "resource" ","))}}
|
|
7161
7170
|
}
|
|
7162
7171
|
},
|
|
7172
|
+
{{end}}{{if .Description}}
|
|
7163
7173
|
{
|
|
7164
7174
|
"tag": "div",
|
|
7165
7175
|
"text": {
|
|
7166
7176
|
"tag": "lark_md",
|
|
7167
|
-
"content":
|
|
7177
|
+
"content": {{printf "%q" (print "**🔍 Description: **" .Description)}}
|
|
7168
7178
|
}
|
|
7169
7179
|
},
|
|
7180
|
+
{{end}}{{if gt (len .Responders) 0}}
|
|
7170
7181
|
{
|
|
7171
7182
|
"tag": "div",
|
|
7172
7183
|
"text": {
|
|
7173
7184
|
"tag": "lark_md",
|
|
7174
|
-
"content": "
|
|
7185
|
+
"content": "**👨💻 Responders: **{{range .Responders}}@{{.PersonName}} {{end}}"
|
|
7175
7186
|
}
|
|
7176
7187
|
},
|
|
7188
|
+
{{end}}
|
|
7177
7189
|
{
|
|
7178
7190
|
"tag": "div",
|
|
7179
7191
|
"text": {
|
|
7180
7192
|
"tag": "lark_md",
|
|
7181
|
-
"content": "
|
|
7193
|
+
"content": ""
|
|
7182
7194
|
}
|
|
7183
7195
|
}
|
|
7184
7196
|
]
|
|
@@ -7201,20 +7213,41 @@ msg_type is required, value should be interactive
|
|
|
7201
7213
|
"tag": "button",
|
|
7202
7214
|
"text": {
|
|
7203
7215
|
"tag": "plain_text",
|
|
7204
|
-
"content": "
|
|
7216
|
+
"content": "Ack"
|
|
7205
7217
|
},
|
|
7206
7218
|
"type": "primary",
|
|
7207
7219
|
"url": "{{.DetailUrl}}?ack=1"
|
|
7208
7220
|
}
|
|
7209
7221
|
]
|
|
7210
|
-
}
|
|
7222
|
+
}
|
|
7223
|
+
{{if or .IsFlapping .IsInStorm}},{{end}}
|
|
7224
|
+
{{if .IsFlapping}}
|
|
7225
|
+
{
|
|
7226
|
+
"tag": "div",
|
|
7227
|
+
"text": {
|
|
7228
|
+
"tag": "lark_md",
|
|
7229
|
+
"content": "🔴 The current incident status changes frequently, notifications will be muted for {{.Flapping.MuteMinutes}} minute(s), it is recommended to optimize the alerting strategy."
|
|
7230
|
+
}
|
|
7231
|
+
}
|
|
7232
|
+
{{end}}
|
|
7233
|
+
{{if and .IsFlapping .IsInStorm}},{{end}}
|
|
7234
|
+
{{if .IsInStorm}}
|
|
7235
|
+
{
|
|
7236
|
+
"tag": "div",
|
|
7237
|
+
"text": {
|
|
7238
|
+
"tag": "lark_md",
|
|
7239
|
+
"content": "🔴 The current incident has grouped {{.AlertCnt}} alerts, triggering an alert storm, please handle it urgently!"
|
|
7240
|
+
}
|
|
7241
|
+
}
|
|
7242
|
+
{{end}}
|
|
7243
|
+
]
|
|
7211
7244
|
}
|
|
7212
7245
|
}
|
|
7213
7246
|
\`\`\`
|
|
7214
7247
|
|
|
7215
7248
|
2. Rich Text
|
|
7216
7249
|
msg_type is required, value should be post
|
|
7217
|
-
\`\`\`
|
|
7250
|
+
\`\`\`json
|
|
7218
7251
|
{
|
|
7219
7252
|
"msg_type": "post",
|
|
7220
7253
|
"post": {
|
|
@@ -7226,78 +7259,77 @@ msg_type is required, value should be post
|
|
|
7226
7259
|
"text": "🏢 "
|
|
7227
7260
|
}, {
|
|
7228
7261
|
"tag": "text",
|
|
7229
|
-
"text": "Channel
|
|
7230
|
-
"
|
|
7262
|
+
"text": "Channel: ",
|
|
7263
|
+
"style": ["bold"]
|
|
7231
7264
|
}, {
|
|
7232
7265
|
"tag": "text",
|
|
7233
|
-
"text": "{{if .ChannelName}}{{.ChannelName}}{{else}}None{{end}}
|
|
7266
|
+
"text": "{{if .ChannelName}}{{.ChannelName}}{{else}}None{{end}}"
|
|
7234
7267
|
}],
|
|
7235
7268
|
[{
|
|
7236
7269
|
"tag": "text",
|
|
7237
|
-
"text": "{{if eq .IncidentSeverity "Critical"}}🔴{{else if eq .IncidentSeverity "Warning"}}⚠️{{else}}ℹ️{{end}}
|
|
7270
|
+
"text": "{{if eq .IncidentSeverity "Critical"}}🔴{{else if eq .IncidentSeverity "Warning"}}⚠️{{else}}ℹ️{{end}}"
|
|
7238
7271
|
}, {
|
|
7239
7272
|
"tag": "text",
|
|
7240
|
-
"text": "Severity
|
|
7241
|
-
"
|
|
7273
|
+
"text": "Severity: ",
|
|
7274
|
+
"style": ["bold"]
|
|
7242
7275
|
}, {
|
|
7243
7276
|
"tag": "text",
|
|
7244
|
-
"text": "{{.IncidentSeverity}}
|
|
7245
|
-
"text_type": "{{if eq .IncidentSeverity "Critical"}}bold{{end}}"
|
|
7277
|
+
"text": "{{.IncidentSeverity}}"
|
|
7246
7278
|
}],
|
|
7247
7279
|
[{
|
|
7248
7280
|
"tag": "text",
|
|
7249
7281
|
"text": "⏰ "
|
|
7250
7282
|
}, {
|
|
7251
7283
|
"tag": "text",
|
|
7252
|
-
"text": "Triggered at
|
|
7253
|
-
"
|
|
7284
|
+
"text": "Triggered at: ",
|
|
7285
|
+
"style": ["bold"]
|
|
7254
7286
|
}, {
|
|
7255
7287
|
"tag": "text",
|
|
7256
|
-
"text": "{{date "2006-01-02 15:04:05" .StartTime}}
|
|
7288
|
+
"text": "{{date "2006-01-02 15:04:05" .StartTime}}"
|
|
7257
7289
|
}],
|
|
7258
7290
|
{{if gt .AlertCnt 1}}[{
|
|
7259
7291
|
"tag": "text",
|
|
7260
7292
|
"text": "🔔 "
|
|
7261
7293
|
}, {
|
|
7262
7294
|
"tag": "text",
|
|
7263
|
-
"text": "Grouped alerts
|
|
7264
|
-
"
|
|
7295
|
+
"text": "Grouped alerts: ",
|
|
7296
|
+
"style": ["bold"]
|
|
7265
7297
|
}, {
|
|
7266
7298
|
"tag": "text",
|
|
7267
|
-
"text": "{{.AlertCnt}}
|
|
7299
|
+
"text": "{{.AlertCnt}}"
|
|
7268
7300
|
}],{{end}}
|
|
7269
7301
|
{{if .Labels.resource}}[{
|
|
7270
7302
|
"tag": "text",
|
|
7271
7303
|
"text": "📋 "
|
|
7272
7304
|
}, {
|
|
7273
7305
|
"tag": "text",
|
|
7274
|
-
"text": "
|
|
7275
|
-
"
|
|
7306
|
+
"text": "Resources: ",
|
|
7307
|
+
"style": ["bold"]
|
|
7276
7308
|
}, {
|
|
7277
7309
|
"tag": "text",
|
|
7278
|
-
"text":
|
|
7310
|
+
"text": {{printf "%q" (print (joinAlertLabels . "resource" ","))}}
|
|
7279
7311
|
}],{{end}}
|
|
7280
7312
|
{{if .Description}}[{
|
|
7281
7313
|
"tag": "text",
|
|
7282
7314
|
"text": "📝 "
|
|
7283
7315
|
}, {
|
|
7284
7316
|
"tag": "text",
|
|
7285
|
-
"text": "Description
|
|
7286
|
-
"
|
|
7317
|
+
"text": "Description: ",
|
|
7318
|
+
"style": ["bold"]
|
|
7287
7319
|
}, {
|
|
7288
7320
|
"tag": "text",
|
|
7289
|
-
"text":
|
|
7321
|
+
"text": {{printf "%q" (print .Description)}}
|
|
7290
7322
|
}],{{end}}
|
|
7291
7323
|
{{if gt (len .Responders) 0}}[{
|
|
7292
7324
|
"tag": "text",
|
|
7293
7325
|
"text": "👨💻 "
|
|
7294
7326
|
}, {
|
|
7295
7327
|
"tag": "text",
|
|
7296
|
-
"text": "Responders
|
|
7297
|
-
"
|
|
7328
|
+
"text": "Responders: ",
|
|
7329
|
+
"style": ["bold"]
|
|
7298
7330
|
}, {
|
|
7299
7331
|
"tag": "text",
|
|
7300
|
-
"text": "{{range .Responders}}@{{.PersonName}} {{end}}
|
|
7332
|
+
"text": "{{range .Responders}}@{{.PersonName}} {{end}}"
|
|
7301
7333
|
}],{{end}}
|
|
7302
7334
|
[{
|
|
7303
7335
|
"tag": "a",
|
|
@@ -7309,8 +7341,22 @@ msg_type is required, value should be post
|
|
|
7309
7341
|
},{
|
|
7310
7342
|
"tag": "a",
|
|
7311
7343
|
"href": "{{.DetailUrl}}?ack=1",
|
|
7312
|
-
"text": "
|
|
7344
|
+
"text": "Ack"
|
|
7345
|
+
}]
|
|
7346
|
+
{{if or .IsFlapping .IsInStorm}},{{end}}
|
|
7347
|
+
{{if .IsFlapping}}
|
|
7348
|
+
[{
|
|
7349
|
+
"tag": "text",
|
|
7350
|
+
"text": "\\n 🔴 The incident triggers and recovers frequently, {{if .Flapping.MuteMinutes}}new notifications will be muted for {{.Flapping.MuteMinutes}} minute(s), {{end}}it is recommended to optimize the alerting strategy."
|
|
7351
|
+
}]
|
|
7352
|
+
{{end}}
|
|
7353
|
+
{{if and .IsFlapping .IsInStorm}},{{end}}
|
|
7354
|
+
{{if .IsInStorm}}
|
|
7355
|
+
[{
|
|
7356
|
+
"tag": "text",
|
|
7357
|
+
"text": "\\n 🔴 The current incident has grouped {{.AlertCnt}} alerts, triggering an alert storm, please handle it urgently!"
|
|
7313
7358
|
}]
|
|
7359
|
+
{{end}}
|
|
7314
7360
|
]
|
|
7315
7361
|
}
|
|
7316
7362
|
}
|
|
@@ -7444,94 +7490,100 @@ Responders: {{range .Responders}}@{{.PersonName}} {{end}}{{end}}
|
|
|
7444
7490
|
- If no custom content is set, the system default template will be used to display key information:
|
|
7445
7491
|
|
|
7446
7492
|
\`\`\`json
|
|
7447
|
-
{
|
|
7448
|
-
|
|
7493
|
+
{
|
|
7494
|
+
"head": {
|
|
7495
|
+
"text": "{{fireReason .}}INC [#{{.Num}}] {{.Title}}",
|
|
7496
|
+
"style": {
|
|
7497
|
+
"bold": true,
|
|
7498
|
+
"italic": false,
|
|
7499
|
+
"color": "{{$s := serverityToColor .IncidentSeverity}}{{$s}}"
|
|
7500
|
+
}
|
|
7501
|
+
},
|
|
7502
|
+
"body": [
|
|
7503
|
+
{
|
|
7504
|
+
"type": "message",
|
|
7505
|
+
"text": {{printf "%q" (print "Channel: " .ChannelName)}},
|
|
7449
7506
|
"style": {
|
|
7450
|
-
"bold":
|
|
7507
|
+
"bold": false,
|
|
7508
|
+
"italic": false
|
|
7509
|
+
}
|
|
7510
|
+
},
|
|
7511
|
+
{
|
|
7512
|
+
"type": "message",
|
|
7513
|
+
"text": "Severity: {{.IncidentSeverity}}",
|
|
7514
|
+
"style": {
|
|
7515
|
+
"bold": false,
|
|
7451
7516
|
"italic": false,
|
|
7452
|
-
"color": "{{$s := serverityToColor .IncidentSeverity}}{{
|
|
7517
|
+
"color": "{{$s := serverityToColor .IncidentSeverity}}{{$s}}"
|
|
7453
7518
|
}
|
|
7454
7519
|
},
|
|
7455
|
-
|
|
7456
|
-
|
|
7457
|
-
|
|
7458
|
-
|
|
7459
|
-
"
|
|
7460
|
-
|
|
7461
|
-
|
|
7462
|
-
|
|
7463
|
-
|
|
7464
|
-
|
|
7465
|
-
"type": "message",
|
|
7466
|
-
"text": "Severity: {{.IncidentSeverity}}",
|
|
7467
|
-
"style": {
|
|
7468
|
-
"bold": false,
|
|
7469
|
-
"italic": false,
|
|
7470
|
-
"color": "{{$s := serverityToColor .IncidentSeverity}}{{toHtml $s}}"
|
|
7471
|
-
}
|
|
7472
|
-
},
|
|
7473
|
-
{
|
|
7474
|
-
"type": "message",
|
|
7475
|
-
"text": "Duration: {{ago .StartTime}}{{if gt .AlertCnt 1}}",
|
|
7476
|
-
"style": {
|
|
7477
|
-
"bold": false,
|
|
7478
|
-
"italic": false
|
|
7479
|
-
}
|
|
7480
|
-
},
|
|
7481
|
-
{
|
|
7482
|
-
"type": "message",
|
|
7483
|
-
"text": "Grouped alerts: {{.AlertCnt}}{{end}}{{if .Labels.resource}}",
|
|
7484
|
-
"style": {
|
|
7485
|
-
"bold": false,
|
|
7486
|
-
"italic": false
|
|
7487
|
-
}
|
|
7488
|
-
},
|
|
7489
|
-
{
|
|
7490
|
-
"type": "message",
|
|
7491
|
-
"text": "Alert targets: {{.Labels.resource}}{{end}}{{if .Description}}",
|
|
7492
|
-
"style": {
|
|
7493
|
-
"bold": false,
|
|
7494
|
-
"italic": false
|
|
7495
|
-
}
|
|
7496
|
-
},
|
|
7497
|
-
{
|
|
7520
|
+
{
|
|
7521
|
+
"type": "message",
|
|
7522
|
+
"text": "{{if .AlertCnt}}Grouped alerts: {{.AlertCnt}}{{end}}",
|
|
7523
|
+
"style": {
|
|
7524
|
+
"bold": false,
|
|
7525
|
+
"italic": false
|
|
7526
|
+
}
|
|
7527
|
+
},
|
|
7528
|
+
{{if .Labels.resource}}
|
|
7529
|
+
{
|
|
7498
7530
|
"type": "message",
|
|
7499
|
-
"text": "
|
|
7531
|
+
"text": {{printf "%q" (print "Resources: " (joinAlertLabels . "resource" ", "))}},
|
|
7500
7532
|
"style": {
|
|
7501
7533
|
"bold": false,
|
|
7502
7534
|
"italic": false
|
|
7503
7535
|
}
|
|
7504
|
-
|
|
7505
|
-
|
|
7536
|
+
},
|
|
7537
|
+
{{end}}{{if .Labels.body_text}}
|
|
7538
|
+
{
|
|
7506
7539
|
"type": "message",
|
|
7507
|
-
"text": "
|
|
7540
|
+
"text": {{printf "%q" (print "Description: " .Labels.body_text)}},
|
|
7508
7541
|
"style": {
|
|
7509
7542
|
"bold": false,
|
|
7510
7543
|
"italic": false
|
|
7511
7544
|
}
|
|
7512
|
-
|
|
7513
|
-
|
|
7514
|
-
|
|
7515
|
-
|
|
7516
|
-
|
|
7517
|
-
|
|
7518
|
-
|
|
7519
|
-
"
|
|
7520
|
-
|
|
7521
|
-
|
|
7522
|
-
|
|
7523
|
-
|
|
7524
|
-
|
|
7525
|
-
},
|
|
7526
|
-
{
|
|
7545
|
+
},
|
|
7546
|
+
{{else if .Description}}
|
|
7547
|
+
{
|
|
7548
|
+
"type": "message",
|
|
7549
|
+
"text": {{printf "%q" (print "Description: " .Description)}},
|
|
7550
|
+
"style": {
|
|
7551
|
+
"bold": false,
|
|
7552
|
+
"italic": false
|
|
7553
|
+
}
|
|
7554
|
+
},
|
|
7555
|
+
{{end}}{{if gt (len .Responders) 0}}
|
|
7556
|
+
{
|
|
7557
|
+
"type": "message",
|
|
7558
|
+
"text": "Responders: {{range .Responders}}@{{.PersonName}}{{end}}",
|
|
7559
|
+
"style": {
|
|
7560
|
+
"bold": false,
|
|
7561
|
+
"italic": false
|
|
7562
|
+
}
|
|
7563
|
+
},
|
|
7564
|
+
{{end}}
|
|
7565
|
+
{
|
|
7527
7566
|
"type": "message",
|
|
7528
|
-
"text": "
|
|
7529
|
-
"
|
|
7530
|
-
|
|
7531
|
-
|
|
7532
|
-
|
|
7567
|
+
"text": "Details",
|
|
7568
|
+
"link": {{printf "%q" .DetailUrl}}
|
|
7569
|
+
},
|
|
7570
|
+
{
|
|
7571
|
+
"type": "message",
|
|
7572
|
+
"text": "{{if .IsFlapping}}🔴 The current incident status changes frequently, notifications will be muted for {{.Flapping.MuteMinutes}} minute(s), it is recommended to optimize the alerting strategy.{{end}}",
|
|
7573
|
+
"style": {
|
|
7574
|
+
"bold": true,
|
|
7575
|
+
"italic": false
|
|
7533
7576
|
}
|
|
7534
|
-
|
|
7577
|
+
},
|
|
7578
|
+
{
|
|
7579
|
+
"type": "message",
|
|
7580
|
+
"text": "{{if .IsInStorm}}🔴 The current incident has grouped {{.AlertCnt}} alerts, triggering an alert storm, please handle it urgently!{{end}}",
|
|
7581
|
+
"style": {
|
|
7582
|
+
"bold": true,
|
|
7583
|
+
"italic": false
|
|
7584
|
+
}
|
|
7585
|
+
}
|
|
7586
|
+
]
|
|
7535
7587
|
}
|
|
7536
7588
|
\`\`\`
|
|
7537
7589
|
</div>
|
|
@@ -7642,4 +7694,61 @@ As shown in the image below:
|
|
|
7642
7694
|
|
|
7643
7695
|
<img src="https://download.flashcat.cloud/flashduty/changelog/20230720/email_render.png" alt="drawing" style="display: block; margin: 0 auto;" width="500"/>
|
|
7644
7696
|
|
|
7645
|
-
</div>`,oe
|
|
7697
|
+
</div>`,oe=`---
|
|
7698
|
+
title: "Link Integration"
|
|
7699
|
+
description: "Through Link integration, you can quickly access external links by obtaining key parameters from incident attributes, labels, and other information"
|
|
7700
|
+
date: "2025-05-19T10:00:00+08:00"
|
|
7701
|
+
url: "https://docs.flashcat.cloud/en/flashduty/link-integration-guide"
|
|
7702
|
+
---
|
|
7703
|
+
|
|
7704
|
+
Through Link integration, you can quickly access external links by obtaining key parameters from incident attributes, labels, and other information
|
|
7705
|
+
|
|
7706
|
+
## Configuration Guide
|
|
7707
|
+
|
|
7708
|
+
Link integration supports extracting key parameters from incident attributes, labels, and other information to enable quick navigation to external systems. Through automated parameter filling and redirection, it eliminates manual input, improving the efficiency of problem identification and resolution. This feature is applicable to incident troubleshooting, performance monitoring, and system debugging scenarios, helping optimize operations processes and enhance response speed and accuracy.
|
|
7709
|
+
|
|
7710
|
+
### Opening Methods
|
|
7711
|
+
|
|
7712
|
+
#### 1. Pop-up Window
|
|
7713
|
+
Opens a window in the current incident details page, maintaining the original interface state, suitable for quick viewing or returning after operations
|
|
7714
|
+
|
|
7715
|
+
#### 2. New Tab
|
|
7716
|
+
Opens the link in a new browser tab, suitable for scenarios where you need to retain the current operation context while accessing external content
|
|
7717
|
+
|
|
7718
|
+
### URL Configuration
|
|
7719
|
+
|
|
7720
|
+
When referencing content from labels, start with labels.; when referencing custom fields, start with fields.; when referencing incident attributes, reference them directly, such as .title .severity
|
|
7721
|
+
|
|
7722
|
+
#### Retrieving from Incident Labels
|
|
7723
|
+
Supports dynamic value retrieval through \${} syntax to construct request URLs. For example, parameter values can be automatically filled from incident labels, requiring no manual input:
|
|
7724
|
+
|
|
7725
|
+
\`\`\`
|
|
7726
|
+
https://cmdb.com/vm?sn=\${labels.sn}
|
|
7727
|
+
\`\`\`
|
|
7728
|
+
|
|
7729
|
+
In the above example, \${labels.sn} indicates that the sn label value from the incident will be dynamically injected into the URL. If the incident data contains sn=VM123456, the final request URL will be:
|
|
7730
|
+
|
|
7731
|
+
\`\`\`
|
|
7732
|
+
https://cmdb.com/vm?sn=VM123456
|
|
7733
|
+
\`\`\`
|
|
7734
|
+
|
|
7735
|
+
|
|
7736
|
+
#### Retrieving from Custom Fields
|
|
7737
|
+
Supports dynamic value retrieval through \${} syntax to construct request URLs. For example, parameter values can be automatically filled from custom fields, requiring no manual input:
|
|
7738
|
+
|
|
7739
|
+
\`\`\`
|
|
7740
|
+
https://cmdb.com/vm?sn=\${fields.sn}
|
|
7741
|
+
\`\`\`
|
|
7742
|
+
|
|
7743
|
+
In the above example, \${fields.sn} indicates that the sn custom field value will be dynamically injected into the URL. If the custom field data contains sn=VM123456, the final request URL will be:
|
|
7744
|
+
|
|
7745
|
+
\`\`\`
|
|
7746
|
+
https://cmdb.com/vm?sn=VM123456
|
|
7747
|
+
\`\`\`
|
|
7748
|
+
|
|
7749
|
+
### Notes
|
|
7750
|
+
|
|
7751
|
+
1. When referenced content does not exist, Link integration will still generate the corresponding link but will not be able to retrieve the value
|
|
7752
|
+
2. Each channel can bind up to three Link integrations
|
|
7753
|
+
3. Pay attention to reference syntax; improper variable reference formatting will result in failure to retrieve corresponding values
|
|
7754
|
+
`,se={CustomAlert:n,Email:t,N9e:a,Prometheus:i,Grafana:o,Zabbix:s,UptimeKuma:r,AliyunARMS:l,AliyunCmEvent:d,AliyunCm:c,AliyunSLS:e,AWSCW:e,AzureMonitor:h,BaiDuBCM:u,HuaWeiCES:g,InfluxDB:p,OpenFalcon:m,PagerDuty:f,TencentBK:y,TencentCLS:v,TencentCm:b,TencentEb:w,OceanBase:C,Graylog:k,Skywalking:I,Sentry:S,Jiankongbao:A,AWSEventBridge:x,Dynatrace:L,HuaweiyunLTS:_,GoogleCM:F,Zilliz:G,Splunk:R,AppDynamics:T,SolarWinds:D,VolcEngineMetric:U,VolcEngineEvent:E,VolcEngineTLS:N,OpManager:P,Meraki:M,StateCloud:W,Guance:q,CustomChange:z,Jira:V,Lark:K,Dingtalk:J,Wecom:Z,Slack:Q,MicrosoftTeams:X,AlertWebhook:ee,IncidentWebhook:ne,CustomAction:te,Templates:ie,HuaweiyunAPM:O,JiraSync:ae,ZStack:Y,Keep:$,ElastAlert2:j,DingtalkAlert:H,FeishuAlert:B,Link:oe};module.exports=se;
|