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 CHANGED
@@ -1,3 +1,4 @@
1
+ /** ⬆️⬆️⬆️⬆️ Other ⬆️⬆️⬆️⬆️ */
1
2
  declare const docs: {
2
3
  CustomAlert: string;
3
4
  Email: string;
@@ -59,5 +60,6 @@ declare const docs: {
59
60
  ElastAlert2: string;
60
61
  DingtalkAlert: string;
61
62
  FeishuAlert: string;
63
+ Link: string;
62
64
  };
63
65
  export default docs;
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
- `,L=`---
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
- `,G=`---
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
- `,q=`---
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
- `,H=`---
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.`,j=`---
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/ding/ding-18.png" alt="drawing" width="500"/>
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/ding/ding-19.png" alt="drawing" width="500"/>
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:**{{if .ChannelName}}{{.ChannelName}}{{else}}None{{end}}"
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": "**{{if eq .IncidentSeverity "Critical"}}🔴{{else if eq .IncidentSeverity "Warning"}}⚠️{{else}}ℹ️{{end}} Severity:**{{.IncidentSeverity}}"
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": "**⏰ Triggered at:**{{date "2006-01-02 15:04:05" .StartTime}}{{if gt .AlertCnt 1}}"
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": "**🔔 Grouped alerts:**{{.AlertCnt}} {{end}}{{if .Labels.resource}}"
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": "**📌 Alert targets:**{{toHtml (joinAlertLabels . "resource" ",")}} {{end}}{{if .Description}}"
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": "**🔍 Description:**{{.Description}}{{end}}{{if gt (len .Responders) 0}}"
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": "**👨‍💻 Responders:**{{range .Responders}}@{{.PersonName}} {{end}}{{end}}"
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": "Acknowledge"
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
- "text_type": "bold"
7262
+ "text": "Channel: ",
7263
+ "style": ["bold"]
7231
7264
  }, {
7232
7265
  "tag": "text",
7233
- "text": "{{if .ChannelName}}{{.ChannelName}}{{else}}None{{end}}\\n"
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
- "text_type": "bold"
7273
+ "text": "Severity: ",
7274
+ "style": ["bold"]
7242
7275
  }, {
7243
7276
  "tag": "text",
7244
- "text": "{{.IncidentSeverity}}\\n",
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
- "text_type": "bold"
7284
+ "text": "Triggered at: ",
7285
+ "style": ["bold"]
7254
7286
  }, {
7255
7287
  "tag": "text",
7256
- "text": "{{date "2006-01-02 15:04:05" .StartTime}}\\n"
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
- "text_type": "bold"
7295
+ "text": "Grouped alerts: ",
7296
+ "style": ["bold"]
7265
7297
  }, {
7266
7298
  "tag": "text",
7267
- "text": "{{.AlertCnt}}\\n"
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": "Alert targets:",
7275
- "text_type": "bold"
7306
+ "text": "Resources: ",
7307
+ "style": ["bold"]
7276
7308
  }, {
7277
7309
  "tag": "text",
7278
- "text": "{{toHtml (joinAlertLabels . "resource" ", ")}}\\n"
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
- "text_type": "bold"
7317
+ "text": "Description: ",
7318
+ "style": ["bold"]
7287
7319
  }, {
7288
7320
  "tag": "text",
7289
- "text": "{{toHtml .Description}}\\n"
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
- "text_type": "bold"
7328
+ "text": "Responders: ",
7329
+ "style": ["bold"]
7298
7330
  }, {
7299
7331
  "tag": "text",
7300
- "text": "{{range .Responders}}@{{.PersonName}} {{end}}\\n"
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": "Acknowledge"
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
- {"head": {
7448
- "text": "{{fireReason .}}INC [#{{.Num}}] {{toHtml .Title}}",
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": true,
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}}{{toHtml $s}}"
7517
+ "color": "{{$s := serverityToColor .IncidentSeverity}}{{$s}}"
7453
7518
  }
7454
7519
  },
7455
- "body": [
7456
- {
7457
- "type": "message",
7458
- "text": "Channel: {{if .ChannelName}}{{.ChannelName}}{{else}}None{{end}}",
7459
- "style": {
7460
- "bold": false,
7461
- "italic": false
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": "Description: {{toHtml .Description}}{{end}}{{if gt (len .Responders) 0}}",
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": "Responders: {{range .Responders}}@{{.PersonName}}{{end}}{{end}}",
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
- "type": "message",
7515
- "text": "View Details",
7516
- "link": "{{.DetailUrl}}{{if .IsFlapping}}"
7517
- },
7518
- {
7519
- "type": "message",
7520
- "text": "Note: The current incident status is changing frequently. Notifications will be suppressed for {{.Flapping.MuteMinutes}} minutes. Please optimize your alert policy.{{end}}{{if .IsInStorm}}",
7521
- "style": {
7522
- "bold": true,
7523
- "italic": false
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": "Note: The current incident has grouped {{.AlertCnt}} alerts, triggering an alert storm. Please handle with urgency!{{end}}",
7529
- "style": {
7530
- "bold": true,
7531
- "italic": false
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={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:_,HuaweiyunLTS:L,GoogleCM:F,Zilliz:q,Splunk:R,AppDynamics:T,SolarWinds:D,VolcEngineMetric:U,VolcEngineEvent:E,VolcEngineTLS:N,OpManager:P,Meraki:M,StateCloud:W,Guance:G,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:H,ElastAlert2:$,DingtalkAlert:j,FeishuAlert:B};module.exports=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;