flashduty-knowledge-base 1.3.0 → 1.3.1
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 +1 -0
- package/dist/esm/en.js +300 -16
- package/dist/esm/zh.js +301 -19
- package/dist/iife/en.js +287 -3
- package/dist/iife/zh.js +282 -0
- package/dist/zh.d.ts +1 -0
- package/package.json +1 -1
package/dist/en.d.ts
CHANGED
package/dist/esm/en.js
CHANGED
|
@@ -1595,7 +1595,7 @@ Alibaba Cloud SLS monitoring to Flashduty alert severity mapping:
|
|
|
1595
1595
|
| 2 | Info | Info |
|
|
1596
1596
|
|
|
1597
1597
|
</div>
|
|
1598
|
-
`,
|
|
1598
|
+
`,u=`---
|
|
1599
1599
|
title: "AWS CloudWatch Integration"
|
|
1600
1600
|
description: "Sync AWS CloudWatch alert events to Flashduty via webhook to achieve automated alert noise reduction"
|
|
1601
1601
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -1674,7 +1674,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
1674
1674
|
All CloudWatch metric alarms correspond to Flashduty "warning" severity level alerts.
|
|
1675
1675
|
|
|
1676
1676
|
</div>
|
|
1677
|
-
`,
|
|
1677
|
+
`,h=`---
|
|
1678
1678
|
title: "Baidu Cloud BCM Integration"
|
|
1679
1679
|
description: "Sync Baidu Cloud BCM alerts to Flashduty via webhook for automated alert noise reduction"
|
|
1680
1680
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -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
|
+
`,_=`---
|
|
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
|
+
`,L=`---
|
|
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"
|
|
@@ -4005,7 +4005,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
4005
4005
|
|Notice|Info|Info|
|
|
4006
4006
|
|
|
4007
4007
|
</div>
|
|
4008
|
-
`,
|
|
4008
|
+
`,N=`---
|
|
4009
4009
|
title: "Volcengine Cloud Monitor Event Center Alert Events"
|
|
4010
4010
|
description: "Sync Volcengine Cloud Monitor Event Center alert events to Flashduty via webhook for automated alert noise reduction"
|
|
4011
4011
|
date: "2024-07-05T10:00:00+08:00"
|
|
@@ -4092,7 +4092,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
4092
4092
|
|Notice|Info|Info|
|
|
4093
4093
|
|
|
4094
4094
|
</div>
|
|
4095
|
-
`,
|
|
4095
|
+
`,E=`---
|
|
4096
4096
|
title: "Volcengine Log Service (TLS) Alert Events"
|
|
4097
4097
|
description: "Sync Volcengine Log Service (TLS) alert events to Flashduty via webhook for automated alert noise reduction"
|
|
4098
4098
|
date: "2024-07-05T10: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"
|
|
@@ -4786,7 +4786,7 @@ When you need to route alerts to different channels based on alert payload infor
|
|
|
4786
4786
|
|
|
4787
4787
|
</div>
|
|
4788
4788
|
|
|
4789
|
-
`,
|
|
4789
|
+
`,j=`---
|
|
4790
4790
|
title: "zstack integration"
|
|
4791
4791
|
description: "Push ZStack alerts to Flashduty via webhook, to achieve automatic alert noise reduction."
|
|
4792
4792
|
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
|
+
`,Y=`---
|
|
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
|
+
`,H=`---
|
|
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.`,$=`---
|
|
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"
|
|
@@ -5242,7 +5242,7 @@ By default, the system always creates new alerts for each message, but you can s
|
|
|
5242
5242
|
|
|
5243
5243
|
Currently, all alerts pushed to Flashduty through Feishu Alert integration are set to Warning severity.
|
|
5244
5244
|
|
|
5245
|
-
`,
|
|
5245
|
+
`,V=`---
|
|
5246
5246
|
title: "Custom Change Event Integration Guide"
|
|
5247
5247
|
description: "Push change events from your own systems to Flashduty using standard protocols. Most incidents are caused by changes, and the correlation between changes and alerts helps quickly identify incident causes."
|
|
5248
5248
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -5299,7 +5299,7 @@ Labels are descriptions of events. You should enrich label content as much as po
|
|
|
5299
5299
|
|
|
5300
5300
|
</details>
|
|
5301
5301
|
|
|
5302
|
-
`,
|
|
5302
|
+
`,z=`---
|
|
5303
5303
|
title: "Jira Issue Events"
|
|
5304
5304
|
description: "Sync Jira Issue events to Flashduty via webhooks to collect change events."
|
|
5305
5305
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -6630,6 +6630,290 @@ In the Integration Center, select **Webhook**, choose **Jira Sync** integration,
|
|
|
6630
6630
|
- Flashduty syncs information according to default field mappings and your custom field configurations. If your Jira issue type has required fields without mapping relationships, Jira issue creation may fail.
|
|
6631
6631
|
- Jira issue details are accessed using project KEY + number format. If you modify the project KEY, saved issue URLs in Flashduty may become inaccessible, so please modify project KEYs with caution.
|
|
6632
6632
|
`,ie=`---
|
|
6633
|
+
title: "ServiceNow Sync"
|
|
6634
|
+
description: "Sync incidents with ServiceNow Incidents through ServiceNow sync webhook."
|
|
6635
|
+
date: "2025-05-19T10:00:00+08:00"
|
|
6636
|
+
url: "https://docs.flashcat.cloud/en/flashduty/service-now-sync"
|
|
6637
|
+
---
|
|
6638
|
+
|
|
6639
|
+
Through ServiceNow sync webhook, Flashduty incidents are associated and synchronized with ServiceNow Incidents to achieve integration between Flashduty and ServiceNow.
|
|
6640
|
+
|
|
6641
|
+
## In ServiceNow
|
|
6642
|
+
|
|
6643
|
+
### Create User
|
|
6644
|
+
|
|
6645
|
+
1. Log in to the ServiceNow instance console, select \`ALL\`, enter \`USERS\` and select \`Organization\`-\`Users\`.
|
|
6646
|
+
2. Click \`New\` to create a new user.
|
|
6647
|
+
3. In the edit page, enter \`flashduty\` in the \`User ID\` field.
|
|
6648
|
+
4. Keep \`Password needs reset\`, \`Web service access only\`, and \`Internal Integration User\` unchecked.
|
|
6649
|
+
5. Submit and save.
|
|
6650
|
+
|
|
6651
|
+
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/snow/snow-1.png" />
|
|
6652
|
+
|
|
6653
|
+
### Configure User
|
|
6654
|
+
|
|
6655
|
+
The user used to access ServiceNow needs to have administrator roles.
|
|
6656
|
+
|
|
6657
|
+
1. On the user list page, find the newly created \`flashduty\` user and go to the configuration page.
|
|
6658
|
+
2. In the edit page, click \`Set Password\` to set a password.
|
|
6659
|
+
3. Click \`Roles\` to add **admin and itil** roles.
|
|
6660
|
+
4. Click \`Update\` to update the configuration.
|
|
6661
|
+
|
|
6662
|
+
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/snow/snow-2.png" />
|
|
6663
|
+
|
|
6664
|
+
## In Flashduty
|
|
6665
|
+
|
|
6666
|
+
### Configure Integration
|
|
6667
|
+
|
|
6668
|
+
Enter the username/password and instance name configured above into the integration information on the left and click Next to configure.
|
|
6669
|
+
|
|
6670
|
+
- **Integration Name:** Define a name for the current integration.
|
|
6671
|
+
- **Management Team:** When a management team is selected, only team members and tenant administrators can edit this integration.
|
|
6672
|
+
- **Channel:** Select the channel where this integration takes effect.
|
|
6673
|
+
- **Sync Direction:**
|
|
6674
|
+
- To_ServiceNow: Sync Flashduty incidents to ServiceNow.
|
|
6675
|
+
- From_ServiceNow: Sync ServiceNow Incidents to Flashduty.
|
|
6676
|
+
- Two-way: Bidirectional sync between Flashduty and ServiceNow.
|
|
6677
|
+
- **Trigger Mode**:
|
|
6678
|
+
- Auto Trigger: Requires configuration of corresponding conditions, Flashduty will automatically sync incidents that meet the conditions to ServiceNow.
|
|
6679
|
+
- Manual Trigger: Requires manual triggering of ServiceNow sync in the More Actions section of the incident details page (the integration configuration name is the trigger name).
|
|
6680
|
+
- **Severity Mapping:** ServiceNow's Priority is determined by the combined values of Impact and Urgency, so you can refer to ServiceNow's \`Priority Lookup Rules\` for configuration. Additionally, note that only when ServiceNow Incident's Urgency changes will it trigger updates to Flashduty incident severity.
|
|
6681
|
+
- **Custom Field Mapping:** You can choose to sync certain labels or all labels of incidents as well as custom field content to ServiceNow fields (only text-type fields are supported).
|
|
6682
|
+
|
|
6683
|
+
## In ServiceNow
|
|
6684
|
+
|
|
6685
|
+
When sync direction is set to From_ServiceNow or Two-way, additional configuration is required in ServiceNow to sync ServiceNow Incidents to Flashduty. When syncing to Flashduty, there are two methods available, choose based on your actual needs.
|
|
6686
|
+
|
|
6687
|
+
### Manual Sync
|
|
6688
|
+
|
|
6689
|
+
This method relies on ServiceNow's UI Action and Script Include configuration. The effect achieved by following the steps below: When creating or updating an Incident, you can see a button to send sync requests in the function area. Triggering this button will sync the current Incident content to Flashduty. Note that if the request fails when triggered, please retry (retry interval should be greater than 10 seconds).
|
|
6690
|
+
|
|
6691
|
+
#### Configure UI Action
|
|
6692
|
+
|
|
6693
|
+
1. Log in to the ServiceNow instance console, select \`ALL\`, enter \`UI Actions\` and select \`System Definition\`-\`UI Actions\`.
|
|
6694
|
+
2. Click \`New\` to create a new Action.
|
|
6695
|
+
3. Enter **Send To Flashduty** in \`Name\`, select **Incident** in \`Table\`.
|
|
6696
|
+
4. Keep \`Form button\`, \`Active\`, \`Show insert\`, \`Show update\`, \`Client\`, \`List v2/3 Compatible\` checked.
|
|
6697
|
+
5. Enter **onClick();** in \`Onclick\`.
|
|
6698
|
+
6. Enter the following in \`Script\`:
|
|
6699
|
+
|
|
6700
|
+
\`\`\`js
|
|
6701
|
+
function onClick() {
|
|
6702
|
+
g_form.save();
|
|
6703
|
+
|
|
6704
|
+
var ga = new GlideAjax("IncidentWebhookHelperAjax");
|
|
6705
|
+
ga.addParam("sysparm_name", "sendWebhook");
|
|
6706
|
+
ga.addParam("sysparm_sys_id", g_form.getUniqueValue());
|
|
6707
|
+
|
|
6708
|
+
ga.getXMLAnswer(function (response) {
|
|
6709
|
+
alert("Webhook Triggered: " + response);
|
|
6710
|
+
});
|
|
6711
|
+
}
|
|
6712
|
+
\`\`\`
|
|
6713
|
+
|
|
6714
|
+
7. Submit and save.
|
|
6715
|
+
|
|
6716
|
+
#### Configure Script Include
|
|
6717
|
+
|
|
6718
|
+
1. Log in to the ServiceNow instance console, select \`ALL\`, enter \`Script Includes\` and select \`System Definition\`-\`Script Includes\`.
|
|
6719
|
+
2. Click \`New\` to create a new Script Include.
|
|
6720
|
+
3. Enter **IncidentWebhookHelper** in \`Name\`, select **All application scopes** in \`Accessible from\`.
|
|
6721
|
+
4. Keep \`Client callable\` and \`Active\` checked.
|
|
6722
|
+
5. Enter the following content in \`Script\`, where you need to add the integration push URL in **request.setEndpoint**:
|
|
6723
|
+
|
|
6724
|
+
<div class="hide">
|
|
6725
|
+
|
|
6726
|
+
Note: The body configures default receiving fields. If you have custom fields that need to be synced to Flashduty, you need to manually add content to the body. For example, if you want to add a field named: test_001 (this field name can be obtained when adding custom fields in the integration configuration, do not use the field name displayed in the ServiceNow Incident form), then you need to add to the body: test_001: current.getDisplayValue("test_001").
|
|
6727
|
+
|
|
6728
|
+
</div>
|
|
6729
|
+
|
|
6730
|
+
\`\`\`js
|
|
6731
|
+
var IncidentWebhookHelper = Class.create();
|
|
6732
|
+
IncidentWebhookHelper.prototype = {
|
|
6733
|
+
initialize: function () {},
|
|
6734
|
+
|
|
6735
|
+
sendIncidentWebhook: function (current) {
|
|
6736
|
+
function getLastComment(sysId) {
|
|
6737
|
+
var journalGR = new GlideRecord("sys_journal_field");
|
|
6738
|
+
journalGR.addQuery("element_id", sysId);
|
|
6739
|
+
journalGR.addQuery("element", "comments");
|
|
6740
|
+
journalGR.orderByDesc("sys_created_on");
|
|
6741
|
+
journalGR.setLimit(1);
|
|
6742
|
+
journalGR.query();
|
|
6743
|
+
if (journalGR.next()) {
|
|
6744
|
+
return journalGR.getValue("value");
|
|
6745
|
+
}
|
|
6746
|
+
return "";
|
|
6747
|
+
}
|
|
6748
|
+
|
|
6749
|
+
var body = {
|
|
6750
|
+
action_type: current.isNewRecord() ? "insert" : "update",
|
|
6751
|
+
number: current.getValue("number"),
|
|
6752
|
+
sys_id: current.getUniqueValue(),
|
|
6753
|
+
short_description: current.getValue("short_description"),
|
|
6754
|
+
description: current.getValue("description"),
|
|
6755
|
+
state: current.getDisplayValue("state"),
|
|
6756
|
+
impact: current.getDisplayValue("impact"),
|
|
6757
|
+
urgency: current.getDisplayValue("urgency"),
|
|
6758
|
+
comments: getLastComment(current.getUniqueValue()),
|
|
6759
|
+
<label name='field_mapping' tab='6'>{original.key}: current.getDisplayValue("{original.key}")</label>
|
|
6760
|
+
};
|
|
6761
|
+
|
|
6762
|
+
try {
|
|
6763
|
+
var request = new sn_ws.RESTMessageV2();
|
|
6764
|
+
request.setHttpMethod("POST");
|
|
6765
|
+
request.setEndpoint("PUSH URL");
|
|
6766
|
+
request.setRequestHeader("Content-Type", "application/json");
|
|
6767
|
+
request.setRequestBody(JSON.stringify(body));
|
|
6768
|
+
request.executeAsync();
|
|
6769
|
+
} catch (ex) {
|
|
6770
|
+
gs.error("Webhook Call failed: " + ex.message);
|
|
6771
|
+
}
|
|
6772
|
+
},
|
|
6773
|
+
|
|
6774
|
+
type: "IncidentWebhookHelper",
|
|
6775
|
+
};
|
|
6776
|
+
\`\`\`
|
|
6777
|
+
|
|
6778
|
+
6. Submit and save.
|
|
6779
|
+
7. Return to the Script Includes list and continue creating.
|
|
6780
|
+
8. Click \`New\` to create a new Script Include.
|
|
6781
|
+
9. Enter **IncidentWebhookHelperAjax** in \`Name\`, select **All application scopes** in \`Accessible from\`.
|
|
6782
|
+
10. Keep \`Client callable\` and \`Active\` checked.
|
|
6783
|
+
11. Enter the following content in \`Script\`:
|
|
6784
|
+
|
|
6785
|
+
\`\`\`js
|
|
6786
|
+
var IncidentWebhookHelperAjax = Class.create();
|
|
6787
|
+
IncidentWebhookHelperAjax.prototype = Object.extendsObject(
|
|
6788
|
+
global.AbstractAjaxProcessor,
|
|
6789
|
+
{
|
|
6790
|
+
sendWebhook: function () {
|
|
6791
|
+
var sysId = this.getParameter("sysparm_sys_id");
|
|
6792
|
+
var gr = new GlideRecord("incident");
|
|
6793
|
+
if (gr.get(sysId)) {
|
|
6794
|
+
var helper = new IncidentWebhookHelper();
|
|
6795
|
+
helper.sendIncidentWebhook(gr);
|
|
6796
|
+
return "Success";
|
|
6797
|
+
}
|
|
6798
|
+
return "Request failed";
|
|
6799
|
+
},
|
|
6800
|
+
}
|
|
6801
|
+
);
|
|
6802
|
+
\`\`\`
|
|
6803
|
+
|
|
6804
|
+
12. Submit and save.
|
|
6805
|
+
|
|
6806
|
+
### Auto Sync
|
|
6807
|
+
|
|
6808
|
+
This method relies on ServiceNow's Business Rules configuration. Using this method, you can automatically sync Incidents to Flashduty when there are new or update events.
|
|
6809
|
+
|
|
6810
|
+
#### Configure Business Rules
|
|
6811
|
+
|
|
6812
|
+
1. Log in to the ServiceNow instance console, select \`ALL\`, enter \`Business Rules\` and select \`System Definition\`-\`Business Rules\`.
|
|
6813
|
+
2. Click \`New\` to create a new Business Rule.
|
|
6814
|
+
3. Enter **Send To Flashduty** in \`Name\`, select **Incident** in \`Table\`.
|
|
6815
|
+
4. Keep \`Advanced\` and \`Active\` checked.
|
|
6816
|
+
5. In the \`When to run\` section, select **async** in \`When\`, keep \`Insert\` and \`Upsert\` checked, configure others as needed.
|
|
6817
|
+
6. In the \`Advanced\` section, enter the following content in \`Script\`, where you need to add the integration push URL in **endpoint**:
|
|
6818
|
+
|
|
6819
|
+
<div class="hide">
|
|
6820
|
+
|
|
6821
|
+
Note: The body configures default receiving fields. If you have custom fields that need to be synced to Flashduty, you need to manually add content to the body. For example, if you want to add a field named: test_001 (this field name can be obtained when adding custom fields in the integration configuration, do not use the field name displayed in the ServiceNow Incident form), then you need to add to the body: test_001: current.getDisplayValue("test_001").
|
|
6822
|
+
|
|
6823
|
+
</div>
|
|
6824
|
+
|
|
6825
|
+
\`\`\`js
|
|
6826
|
+
(function executeRule(current, previous) {
|
|
6827
|
+
function getLastComment(recordSysId) {
|
|
6828
|
+
var journalGR = new GlideRecord("sys_journal_field");
|
|
6829
|
+
journalGR.addQuery("element_id", recordSysId);
|
|
6830
|
+
journalGR.addQuery("element", "comments");
|
|
6831
|
+
journalGR.orderByDesc("sys_created_on");
|
|
6832
|
+
journalGR.setLimit(1);
|
|
6833
|
+
journalGR.query();
|
|
6834
|
+
if (journalGR.next()) {
|
|
6835
|
+
var comment = journalGR.getValue("value");
|
|
6836
|
+
return comment;
|
|
6837
|
+
}
|
|
6838
|
+
|
|
6839
|
+
return "";
|
|
6840
|
+
}
|
|
6841
|
+
|
|
6842
|
+
var operation = current.operation() || "unknown";
|
|
6843
|
+
var isPreviousNull = previous === null;
|
|
6844
|
+
var createdOn = current.getValue("sys_created_on");
|
|
6845
|
+
var updatedOn = current.getValue("sys_updated_on");
|
|
6846
|
+
var isNewRecord = createdOn === updatedOn;
|
|
6847
|
+
|
|
6848
|
+
var action = "update";
|
|
6849
|
+
if (isPreviousNull && isNewRecord) {
|
|
6850
|
+
action = "insert";
|
|
6851
|
+
}
|
|
6852
|
+
|
|
6853
|
+
var body = {
|
|
6854
|
+
action_type: action,
|
|
6855
|
+
number: current.getValue("number"),
|
|
6856
|
+
sys_id: current.getUniqueValue(),
|
|
6857
|
+
short_description: current.getValue("short_description"),
|
|
6858
|
+
description: current.getValue("description"),
|
|
6859
|
+
state: current.getDisplayValue("state"),
|
|
6860
|
+
impact: current.getDisplayValue("impact"),
|
|
6861
|
+
urgency: current.getDisplayValue("urgency"),
|
|
6862
|
+
comments: getLastComment(current.getUniqueValue()),
|
|
6863
|
+
<label name='field_mapping' tab='4'>{original.key}: current.getDisplayValue("{original.key}")</label>
|
|
6864
|
+
|
|
6865
|
+
};
|
|
6866
|
+
|
|
6867
|
+
try {
|
|
6868
|
+
var endpoint = "";
|
|
6869
|
+
var request = new sn_ws.RESTMessageV2();
|
|
6870
|
+
request.setHttpMethod("POST");
|
|
6871
|
+
request.setEndpoint(endpoint);
|
|
6872
|
+
request.setRequestHeader("Content-Type", "application/json");
|
|
6873
|
+
request.setRequestBody(JSON.stringify(body));
|
|
6874
|
+
request.executeAsync();
|
|
6875
|
+
} catch (ex) {
|
|
6876
|
+
gs.error("Error sending webhook: " + ex.message);
|
|
6877
|
+
}
|
|
6878
|
+
})(current, previous);
|
|
6879
|
+
\`\`\`
|
|
6880
|
+
|
|
6881
|
+
7. Submit and save.
|
|
6882
|
+
|
|
6883
|
+
## Sync Information
|
|
6884
|
+
|
|
6885
|
+
### Form Fields
|
|
6886
|
+
|
|
6887
|
+
| ServiceNow | Flashduty | Notes |
|
|
6888
|
+
| ------------------- | ------------- | ----- |
|
|
6889
|
+
| Short_description | Title | |
|
|
6890
|
+
| Description | Description | |
|
|
6891
|
+
| Additional comments | Comments | |
|
|
6892
|
+
| State | Progress | |
|
|
6893
|
+
| Urgency | Severity | |
|
|
6894
|
+
| Others | Custom Fields | |
|
|
6895
|
+
|
|
6896
|
+
### Status Mapping
|
|
6897
|
+
|
|
6898
|
+
| ServiceNow | Flashduty | Notes |
|
|
6899
|
+
| ----------- | ---------- | ---------------------- |
|
|
6900
|
+
| New | Trigger | |
|
|
6901
|
+
| In Progress | Processing | |
|
|
6902
|
+
| On Hold | Snoozed | Default snooze 2 hours |
|
|
6903
|
+
| Resolved | CLosed | |
|
|
6904
|
+
| Closed | CLosed | |
|
|
6905
|
+
| Canceled | CLosed | |
|
|
6906
|
+
|
|
6907
|
+
### Priority Mapping
|
|
6908
|
+
|
|
6909
|
+
Only when ServiceNow's Urgency value changes will it affect Flashduty's Severity
|
|
6910
|
+
|
|
6911
|
+
| ServiceNow | Flashduty | Notes |
|
|
6912
|
+
| ---------- | --------- | ----- |
|
|
6913
|
+
| Low | Info | |
|
|
6914
|
+
| Medium | Warning | |
|
|
6915
|
+
| High | Critical | |
|
|
6916
|
+
`,oe=`---
|
|
6633
6917
|
title: "Configure Notification Templates"
|
|
6634
6918
|
description: "Customize notification content through template configuration"
|
|
6635
6919
|
date: "2024-05-10T10:00:00+08:00"
|
|
@@ -7749,7 +8033,7 @@ As shown in the image below:
|
|
|
7749
8033
|
|
|
7750
8034
|
<img src="https://download.flashcat.cloud/flashduty/changelog/20230720/email_render.png" alt="drawing" style="display: block; margin: 0 auto;" width="500"/>
|
|
7751
8035
|
|
|
7752
|
-
</div>`,
|
|
8036
|
+
</div>`,se=`---
|
|
7753
8037
|
title: "Link Integration"
|
|
7754
8038
|
description: "Through Link integration, you can quickly access external links by obtaining key parameters from incident attributes, labels, and other information"
|
|
7755
8039
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -7806,4 +8090,4 @@ https://cmdb.com/vm?sn=VM123456
|
|
|
7806
8090
|
1. When referenced content does not exist, Link integration will still generate the corresponding link but will not be able to retrieve the value
|
|
7807
8091
|
2. Each channel can bind up to three Link integrations
|
|
7808
8092
|
3. Pay attention to reference syntax; improper variable reference formatting will result in failure to retrieve corresponding values
|
|
7809
|
-
`,
|
|
8093
|
+
`,re={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:u,BaiDuBCM:h,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:G,Splunk:R,AppDynamics:T,SolarWinds:D,VolcEngineMetric:U,VolcEngineEvent:N,VolcEngineTLS:E,OpManager:P,Meraki:M,StateCloud:W,Guance:q,CustomChange:V,Jira:z,Lark:K,Dingtalk:J,Wecom:Z,Slack:Q,MicrosoftTeams:X,AlertWebhook:ee,IncidentWebhook:ne,CustomAction:te,Templates:oe,HuaweiyunAPM:O,JiraSync:ae,ZStack:j,Keep:Y,ElastAlert2:H,DingtalkAlert:$,FeishuAlert:B,Link:se,ServiceNowSync:ie};module.exports=re;
|