@oneuptime/common 7.0.3652 → 7.0.3668
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/Models/DatabaseModels/Alert.ts +19 -0
- package/Models/DatabaseModels/Incident.ts +19 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +19 -0
- package/Server/API/BaseAPI.ts +48 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1739282331053-MigrationName.ts +29 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1739374537088-MigrationName.ts +29 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
- package/Server/Services/IncidentService.ts +101 -0
- package/Server/Services/MonitorService.ts +43 -0
- package/Server/Services/ProjectService.ts +3 -3
- package/Server/Services/TeamMemberService.ts +1 -0
- package/Server/Services/UserService.ts +6 -1
- package/Server/Services/WorkspaceNotificationRuleService.ts +442 -7
- package/Server/Services/WorkspaceProjectAuthTokenService.ts +43 -15
- package/Server/Types/Workflow/Components/Slack/SendMessageToChannel.ts +1 -1
- package/Server/Utils/Slack/Slack.ts +361 -26
- package/Types/Workspace/NotificationRules/BaseNotificationRule.ts +9 -0
- package/Types/Workspace/NotificationRules/NotificationRuleCondition.ts +23 -32
- package/Types/Workspace/NotificationRules/NotificationRuleTypes/AlertNotificationRule.ts +15 -0
- package/Types/Workspace/NotificationRules/NotificationRuleTypes/IncidentNotificationRule.ts +15 -0
- package/Types/Workspace/NotificationRules/NotificationRuleTypes/MonitorStatusNotificationRule.ts +7 -0
- package/Types/Workspace/NotificationRules/NotificationRuleTypes/ScheduledMaintenanceNotificationRule.ts +14 -0
- package/Types/Workspace/NotificationRules/NotificationRuleUtil.ts +261 -0
- package/Types/Workspace/WorkspaceChannelInvitationPayload.ts +4 -0
- package/Types/Workspace/WorkspaceMessagePayload.ts +30 -0
- package/build/dist/Models/DatabaseModels/Alert.js +21 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js +21 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +21 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Server/API/BaseAPI.js +34 -2
- package/build/dist/Server/API/BaseAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1739282331053-MigrationName.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1739282331053-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1739374537088-MigrationName.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1739374537088-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +84 -0
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +34 -0
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +3 -3
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/TeamMemberService.js +1 -0
- package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +4 -1
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Services/WorkspaceNotificationRuleService.js +316 -4
- package/build/dist/Server/Services/WorkspaceNotificationRuleService.js.map +1 -1
- package/build/dist/Server/Services/WorkspaceProjectAuthTokenService.js +29 -4
- package/build/dist/Server/Services/WorkspaceProjectAuthTokenService.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/Slack/SendMessageToChannel.js +1 -1
- package/build/dist/Server/Types/Workflow/Components/Slack/SendMessageToChannel.js.map +1 -1
- package/build/dist/Server/Utils/Slack/Slack.js +227 -18
- package/build/dist/Server/Utils/Slack/Slack.js.map +1 -1
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js +20 -21
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js.map +1 -1
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleTypes/AlertNotificationRule.js +2 -0
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleTypes/AlertNotificationRule.js.map +1 -0
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleTypes/IncidentNotificationRule.js +2 -0
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleTypes/IncidentNotificationRule.js.map +1 -0
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleTypes/MonitorStatusNotificationRule.js +2 -0
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleTypes/MonitorStatusNotificationRule.js.map +1 -0
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleTypes/ScheduledMaintenanceNotificationRule.js +2 -0
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleTypes/ScheduledMaintenanceNotificationRule.js.map +1 -0
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleUtil.js +216 -0
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleUtil.js.map +1 -0
- package/build/dist/Types/Workspace/WorkspaceChannelInvitationPayload.js +2 -0
- package/build/dist/Types/Workspace/WorkspaceChannelInvitationPayload.js.map +1 -0
- package/build/dist/Types/Workspace/WorkspaceMessagePayload.js +2 -0
- package/build/dist/Types/Workspace/WorkspaceMessagePayload.js.map +1 -0
- package/package.json +2 -2
- package/Types/Workspace/NotificationRules/SlackNotificationRule.ts +0 -19
- package/Types/Workspace/WorkspaceNotificationPayload.ts +0 -3
- package/build/dist/Types/Workspace/NotificationRules/SlackNotificationRule.js +0 -2
- package/build/dist/Types/Workspace/NotificationRules/SlackNotificationRule.js.map +0 -1
- package/build/dist/Types/Workspace/WorkspaceNotificationPayload.js +0 -2
- package/build/dist/Types/Workspace/WorkspaceNotificationPayload.js.map +0 -1
|
@@ -1,35 +1,211 @@
|
|
|
1
|
+
import HTTPErrorResponse from "Common/Types/API/HTTPErrorResponse";
|
|
2
|
+
import URL from "Common/Types/API/URL";
|
|
1
3
|
import API from "Common/Utils/API";
|
|
4
|
+
import logger from "../Logger";
|
|
5
|
+
import BadRequestException from "../../../Types/Exception/BadRequestException";
|
|
2
6
|
export default class SlackUtil {
|
|
3
|
-
async
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
static async inviteUsersToChannels(data) {
|
|
8
|
+
const channelIds = [];
|
|
9
|
+
for (const channelName of data.workspaceChannelInvitationPayload
|
|
10
|
+
.workspaceChannelNames) {
|
|
11
|
+
const channel = await this.createChannel({
|
|
12
|
+
authToken: data.authToken,
|
|
13
|
+
channelName: channelName,
|
|
14
|
+
});
|
|
15
|
+
channelIds.push(channel.id);
|
|
16
|
+
}
|
|
17
|
+
for (const channelId of channelIds) {
|
|
18
|
+
await this.inviteUsersToChannel({
|
|
19
|
+
authToken: data.authToken,
|
|
20
|
+
channelId: channelId,
|
|
21
|
+
userIds: data.workspaceChannelInvitationPayload.workspaceUserIds,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
static async inviteUsersToChannel(data) {
|
|
26
|
+
for (const userId of data.userIds) {
|
|
27
|
+
await this.inviteUserToChannel({
|
|
28
|
+
authToken: data.authToken,
|
|
29
|
+
channelId: data.channelId,
|
|
30
|
+
userId: userId,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
static async inviteUserToChannel(data) {
|
|
35
|
+
var _a;
|
|
36
|
+
const response = await API.post(URL.fromString("https://slack.com/api/conversations.invite"), {
|
|
37
|
+
channel: data.channelId,
|
|
38
|
+
users: data.userId,
|
|
39
|
+
}, {
|
|
40
|
+
Authorization: `Bearer ${data.authToken}`,
|
|
41
|
+
});
|
|
42
|
+
if (response instanceof HTTPErrorResponse) {
|
|
43
|
+
throw response;
|
|
44
|
+
}
|
|
45
|
+
if (((_a = response.jsonData) === null || _a === void 0 ? void 0 : _a["ok"]) !== true) {
|
|
46
|
+
throw new BadRequestException("Invalid response");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
static async createChannelIfDoesNotExist(data) {
|
|
50
|
+
// check existing channels and only create if they dont exist.
|
|
51
|
+
const channelIds = [];
|
|
52
|
+
const existingSlackChannels = await this.getSlackChannels({
|
|
53
|
+
authToken: data.authToken,
|
|
54
|
+
});
|
|
55
|
+
for (const channelName of data.channelNamesToCreate) {
|
|
56
|
+
if (existingSlackChannels[channelName]) {
|
|
57
|
+
logger.debug(`Channel ${channelName} already exists.`);
|
|
58
|
+
channelIds.push(existingSlackChannels[channelName].id);
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
const channel = await this.createChannel({
|
|
62
|
+
authToken: data.authToken,
|
|
63
|
+
channelName: channelName,
|
|
64
|
+
});
|
|
65
|
+
if (channel) {
|
|
66
|
+
channelIds.push(channel.id);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return channelIds;
|
|
70
|
+
}
|
|
71
|
+
static async getChannelNameFromChannelId(data) {
|
|
72
|
+
var _a, _b;
|
|
73
|
+
const response = await API.get(URL.fromString("https://slack.com/api/conversations.info"), {
|
|
74
|
+
headers: {
|
|
75
|
+
Authorization: `Bearer ${data.authToken}`,
|
|
14
76
|
},
|
|
15
|
-
|
|
77
|
+
params: {
|
|
78
|
+
channel: data.channelId,
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
if (response instanceof HTTPErrorResponse) {
|
|
82
|
+
throw response;
|
|
83
|
+
}
|
|
84
|
+
if (!((_b = (_a = response.jsonData) === null || _a === void 0 ? void 0 : _a["channel"]) === null || _b === void 0 ? void 0 : _b["name"])) {
|
|
85
|
+
throw new Error("Invalid response");
|
|
86
|
+
}
|
|
87
|
+
return response.jsonData["channel"]["name"];
|
|
88
|
+
}
|
|
89
|
+
static async sendMessage(data) {
|
|
90
|
+
logger.debug("Notify Slack");
|
|
91
|
+
logger.debug(data);
|
|
92
|
+
const blocks = this.getSlackBlocksFromWorkspaceMessagePayload(data.workspaceMessagePayload);
|
|
93
|
+
const existingSlackChannels = await this.getSlackChannels({
|
|
94
|
+
authToken: data.authToken,
|
|
95
|
+
});
|
|
96
|
+
const channelIdsToPostTo = [];
|
|
97
|
+
for (const channelName of data.workspaceMessagePayload.channelNames) {
|
|
98
|
+
// get channel ids from existingSlackChannels. IF channel doesn't exist, create it if createChannelsIfItDoesNotExist is true.
|
|
99
|
+
let channel = null;
|
|
100
|
+
if (existingSlackChannels[channelName]) {
|
|
101
|
+
channel = existingSlackChannels[channelName];
|
|
102
|
+
}
|
|
103
|
+
if (channel) {
|
|
104
|
+
channelIdsToPostTo.push(channel.id);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
logger.debug(`Channel ${channelName} does not exist.`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
for (const channelId of channelIdsToPostTo) {
|
|
111
|
+
try {
|
|
112
|
+
// try catch here to prevent failure of one channel to prevent posting to other channels.
|
|
113
|
+
await this.sendPayloadBlocksToChannel({
|
|
114
|
+
authToken: data.authToken,
|
|
115
|
+
channelId: channelId,
|
|
116
|
+
blocks: blocks,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
catch (e) {
|
|
120
|
+
logger.error(e);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
static async sendPayloadBlocksToChannel(data) {
|
|
125
|
+
var _a;
|
|
126
|
+
const response = await API.post(URL.fromString("https://slack.com/api/chat.postMessage"), {
|
|
127
|
+
channel: data.channelId,
|
|
128
|
+
blocks: data.blocks,
|
|
129
|
+
}, {
|
|
130
|
+
Authorization: `Bearer ${data.authToken}`,
|
|
131
|
+
});
|
|
132
|
+
if (response instanceof HTTPErrorResponse) {
|
|
133
|
+
throw response;
|
|
134
|
+
}
|
|
135
|
+
if (((_a = response.jsonData) === null || _a === void 0 ? void 0 : _a["ok"]) !== true) {
|
|
136
|
+
throw new BadRequestException("Invalid response");
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
static async createChannel(data) {
|
|
140
|
+
var _a, _b, _c, _d;
|
|
141
|
+
const response = await API.post(URL.fromString("https://slack.com/api/conversations.create"), {
|
|
142
|
+
name: data.channelName,
|
|
143
|
+
}, {
|
|
144
|
+
Authorization: `Bearer ${data.authToken}`,
|
|
145
|
+
});
|
|
146
|
+
if (response instanceof HTTPErrorResponse) {
|
|
147
|
+
throw response;
|
|
148
|
+
}
|
|
149
|
+
if (!((_b = (_a = response.jsonData) === null || _a === void 0 ? void 0 : _a["channel"]) === null || _b === void 0 ? void 0 : _b["id"]) ||
|
|
150
|
+
!((_d = (_c = response.jsonData) === null || _c === void 0 ? void 0 : _c["channel"]) === null || _d === void 0 ? void 0 : _d["name"])) {
|
|
151
|
+
throw new Error("Invalid response");
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
id: response.jsonData["channel"]["id"],
|
|
155
|
+
name: response.jsonData["channel"]["name"],
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
static getHeaderBlock(data) {
|
|
159
|
+
return {
|
|
160
|
+
type: "header",
|
|
161
|
+
text: {
|
|
16
162
|
type: "plain_text",
|
|
17
|
-
text: data.
|
|
163
|
+
text: data.payloadHeaderBlock.text,
|
|
18
164
|
},
|
|
19
165
|
};
|
|
20
166
|
}
|
|
21
|
-
|
|
167
|
+
static getMarkdownBlock(data) {
|
|
168
|
+
return {
|
|
169
|
+
type: "section",
|
|
170
|
+
text: {
|
|
171
|
+
type: "mrkdwn",
|
|
172
|
+
text: data.payloadMarkdownBlock.text,
|
|
173
|
+
},
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
static async getSlackChannels(data) {
|
|
177
|
+
const response = await API.get(URL.fromString("https://slack.com/api/conversations.list"), {
|
|
178
|
+
headers: {
|
|
179
|
+
Authorization: `Bearer ${data.authToken}`,
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
if (response instanceof HTTPErrorResponse) {
|
|
183
|
+
throw response;
|
|
184
|
+
}
|
|
185
|
+
const channels = {};
|
|
186
|
+
for (const channel of response.jsonData["channels"]) {
|
|
187
|
+
if (!channel["id"] || !channel["name"]) {
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
channels[channel["name"].toString()] = {
|
|
191
|
+
id: channel["id"],
|
|
192
|
+
name: channel["name"],
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
return channels;
|
|
196
|
+
}
|
|
197
|
+
static getButtonBlock(data) {
|
|
22
198
|
return {
|
|
23
199
|
type: "button",
|
|
24
200
|
text: {
|
|
25
201
|
type: "plain_text",
|
|
26
|
-
text: data.
|
|
202
|
+
text: data.payloadButtonBlock.title,
|
|
27
203
|
},
|
|
28
|
-
|
|
29
|
-
|
|
204
|
+
value: data.payloadButtonBlock.title,
|
|
205
|
+
action_id: data.payloadButtonBlock.title,
|
|
30
206
|
};
|
|
31
207
|
}
|
|
32
|
-
static async
|
|
208
|
+
static async sendMessageToChannelViaIncomingWebhook(data) {
|
|
33
209
|
let apiResult = null;
|
|
34
210
|
// https://api.slack.com/messaging/webhooks#advanced_message_formatting
|
|
35
211
|
apiResult = await API.post(data.url, {
|
|
@@ -45,5 +221,38 @@ export default class SlackUtil {
|
|
|
45
221
|
});
|
|
46
222
|
return apiResult;
|
|
47
223
|
}
|
|
224
|
+
static getSlackBlocksFromWorkspaceMessagePayload(data) {
|
|
225
|
+
const blocks = [];
|
|
226
|
+
const buttons = [];
|
|
227
|
+
for (const block of data.messageBlocks) {
|
|
228
|
+
switch (block._type) {
|
|
229
|
+
case "WorkspacePayloadHeader":
|
|
230
|
+
blocks.push(this.getHeaderBlock({
|
|
231
|
+
payloadHeaderBlock: block,
|
|
232
|
+
}));
|
|
233
|
+
break;
|
|
234
|
+
case "WorkspacePayloadMarkdown":
|
|
235
|
+
blocks.push(this.getMarkdownBlock({
|
|
236
|
+
payloadMarkdownBlock: block,
|
|
237
|
+
}));
|
|
238
|
+
break;
|
|
239
|
+
case "WorkspacePayloadButtons":
|
|
240
|
+
for (const button of block.buttons) {
|
|
241
|
+
buttons.push(this.getButtonBlock({
|
|
242
|
+
payloadButtonBlock: button,
|
|
243
|
+
}));
|
|
244
|
+
}
|
|
245
|
+
blocks.push({
|
|
246
|
+
type: "actions",
|
|
247
|
+
elements: buttons,
|
|
248
|
+
});
|
|
249
|
+
break;
|
|
250
|
+
default:
|
|
251
|
+
logger.error("Unknown block type: " + block._type);
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return blocks;
|
|
256
|
+
}
|
|
48
257
|
}
|
|
49
258
|
//# sourceMappingURL=Slack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slack.js","sourceRoot":"","sources":["../../../../../Server/Utils/Slack/Slack.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Slack.js","sourceRoot":"","sources":["../../../../../Server/Utils/Slack/Slack.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,17 +3,17 @@ import NotificationRuleEventType from "./EventType";
|
|
|
3
3
|
export var NotificationRuleConditionCheckOn;
|
|
4
4
|
(function (NotificationRuleConditionCheckOn) {
|
|
5
5
|
NotificationRuleConditionCheckOn["MonitorName"] = "Monitor Name";
|
|
6
|
-
NotificationRuleConditionCheckOn["
|
|
6
|
+
NotificationRuleConditionCheckOn["IncidentTitle"] = "Incident Title";
|
|
7
7
|
NotificationRuleConditionCheckOn["IncidentDescription"] = "Incident Description";
|
|
8
8
|
NotificationRuleConditionCheckOn["IncidentSeverity"] = "Incident Severity";
|
|
9
9
|
NotificationRuleConditionCheckOn["IncidentState"] = "Incident State";
|
|
10
10
|
NotificationRuleConditionCheckOn["MonitorType"] = "Monitor Type";
|
|
11
11
|
NotificationRuleConditionCheckOn["MonitorStatus"] = "Monitor Status";
|
|
12
|
-
NotificationRuleConditionCheckOn["
|
|
12
|
+
NotificationRuleConditionCheckOn["AlertTitle"] = "Alert Title";
|
|
13
13
|
NotificationRuleConditionCheckOn["AlertDescription"] = "Alert Description";
|
|
14
14
|
NotificationRuleConditionCheckOn["AlertSeverity"] = "Alert Severity";
|
|
15
15
|
NotificationRuleConditionCheckOn["AlertState"] = "Alert State";
|
|
16
|
-
NotificationRuleConditionCheckOn["
|
|
16
|
+
NotificationRuleConditionCheckOn["ScheduledMaintenanceTitle"] = "Scheduled Maintenance Title";
|
|
17
17
|
NotificationRuleConditionCheckOn["ScheduledMaintenanceDescription"] = "Scheduled Maintenance Description";
|
|
18
18
|
NotificationRuleConditionCheckOn["ScheduledMaintenanceState"] = "Scheduled Maintenance State";
|
|
19
19
|
NotificationRuleConditionCheckOn["IncidentLabels"] = "Incident Labels";
|
|
@@ -30,7 +30,7 @@ export var ConditionType;
|
|
|
30
30
|
ConditionType["LessThan"] = "Less Than";
|
|
31
31
|
ConditionType["GreaterThanOrEqualTo"] = "Greater Than Or Equal To";
|
|
32
32
|
ConditionType["LessThanOrEqualTo"] = "Less Than Or Equal To";
|
|
33
|
-
ConditionType["
|
|
33
|
+
ConditionType["ContainsAny"] = "Contains Any";
|
|
34
34
|
ConditionType["NotContains"] = "Not Contains";
|
|
35
35
|
ConditionType["StartsWith"] = "Starts With";
|
|
36
36
|
ConditionType["EndsWith"] = "Ends With";
|
|
@@ -38,7 +38,6 @@ export var ConditionType;
|
|
|
38
38
|
ConditionType["IsNotEmpty"] = "Is Not Empty";
|
|
39
39
|
ConditionType["True"] = "True";
|
|
40
40
|
ConditionType["False"] = "False";
|
|
41
|
-
// could be used for labels.
|
|
42
41
|
ConditionType["ContainsAll"] = "Contains All";
|
|
43
42
|
})(ConditionType || (ConditionType = {}));
|
|
44
43
|
export class NotificationRuleConditionUtil {
|
|
@@ -62,12 +61,12 @@ export class NotificationRuleConditionUtil {
|
|
|
62
61
|
if (eventType === NotificationRuleEventType.Incident) {
|
|
63
62
|
// either create slack channel or select existing one should be active.
|
|
64
63
|
if (workspaceType === WorkspaceType.Slack) {
|
|
65
|
-
if (!notificationRule.
|
|
66
|
-
!notificationRule.
|
|
64
|
+
if (!notificationRule.shouldCreateNewChannel &&
|
|
65
|
+
!notificationRule.shouldPostToExistingChannel) {
|
|
67
66
|
return "Please select either create slack channel or post to existing slack channel";
|
|
68
67
|
}
|
|
69
|
-
if (notificationRule.
|
|
70
|
-
if (!((_a = notificationRule.
|
|
68
|
+
if (notificationRule.shouldPostToExistingChannel) {
|
|
69
|
+
if (!((_a = notificationRule.existingChannelNames) === null || _a === void 0 ? void 0 : _a.trim())) {
|
|
71
70
|
return "Existing Slack channel name is required";
|
|
72
71
|
}
|
|
73
72
|
}
|
|
@@ -186,7 +185,7 @@ export class NotificationRuleConditionUtil {
|
|
|
186
185
|
switch (eventType) {
|
|
187
186
|
case NotificationRuleEventType.Incident:
|
|
188
187
|
return [
|
|
189
|
-
NotificationRuleConditionCheckOn.
|
|
188
|
+
NotificationRuleConditionCheckOn.IncidentTitle,
|
|
190
189
|
NotificationRuleConditionCheckOn.IncidentDescription,
|
|
191
190
|
NotificationRuleConditionCheckOn.IncidentSeverity,
|
|
192
191
|
NotificationRuleConditionCheckOn.IncidentState,
|
|
@@ -196,7 +195,7 @@ export class NotificationRuleConditionUtil {
|
|
|
196
195
|
];
|
|
197
196
|
case NotificationRuleEventType.Alert:
|
|
198
197
|
return [
|
|
199
|
-
NotificationRuleConditionCheckOn.
|
|
198
|
+
NotificationRuleConditionCheckOn.AlertTitle,
|
|
200
199
|
NotificationRuleConditionCheckOn.AlertDescription,
|
|
201
200
|
NotificationRuleConditionCheckOn.AlertSeverity,
|
|
202
201
|
NotificationRuleConditionCheckOn.AlertState,
|
|
@@ -214,7 +213,7 @@ export class NotificationRuleConditionUtil {
|
|
|
214
213
|
];
|
|
215
214
|
case NotificationRuleEventType.ScheduledMaintenance:
|
|
216
215
|
return [
|
|
217
|
-
NotificationRuleConditionCheckOn.
|
|
216
|
+
NotificationRuleConditionCheckOn.ScheduledMaintenanceTitle,
|
|
218
217
|
NotificationRuleConditionCheckOn.ScheduledMaintenanceDescription,
|
|
219
218
|
NotificationRuleConditionCheckOn.ScheduledMaintenanceState,
|
|
220
219
|
NotificationRuleConditionCheckOn.ScheduledMaintenanceLabels,
|
|
@@ -228,42 +227,42 @@ export class NotificationRuleConditionUtil {
|
|
|
228
227
|
static getConditionTypeByCheckOn(checkOn) {
|
|
229
228
|
switch (checkOn) {
|
|
230
229
|
case NotificationRuleConditionCheckOn.MonitorName:
|
|
231
|
-
case NotificationRuleConditionCheckOn.
|
|
230
|
+
case NotificationRuleConditionCheckOn.IncidentTitle:
|
|
232
231
|
case NotificationRuleConditionCheckOn.IncidentDescription:
|
|
233
|
-
case NotificationRuleConditionCheckOn.
|
|
232
|
+
case NotificationRuleConditionCheckOn.AlertTitle:
|
|
234
233
|
case NotificationRuleConditionCheckOn.AlertDescription:
|
|
235
|
-
case NotificationRuleConditionCheckOn.
|
|
234
|
+
case NotificationRuleConditionCheckOn.ScheduledMaintenanceTitle:
|
|
236
235
|
case NotificationRuleConditionCheckOn.ScheduledMaintenanceDescription:
|
|
237
236
|
return [
|
|
238
237
|
ConditionType.EqualTo,
|
|
239
238
|
ConditionType.NotEqualTo,
|
|
240
|
-
ConditionType.
|
|
239
|
+
ConditionType.ContainsAny,
|
|
241
240
|
ConditionType.NotContains,
|
|
242
241
|
ConditionType.StartsWith,
|
|
243
242
|
ConditionType.EndsWith,
|
|
244
243
|
];
|
|
245
244
|
case NotificationRuleConditionCheckOn.IncidentSeverity:
|
|
246
245
|
case NotificationRuleConditionCheckOn.AlertSeverity:
|
|
247
|
-
return [ConditionType.
|
|
246
|
+
return [ConditionType.ContainsAny, ConditionType.NotContains];
|
|
248
247
|
case NotificationRuleConditionCheckOn.IncidentState:
|
|
249
248
|
case NotificationRuleConditionCheckOn.AlertState:
|
|
250
249
|
case NotificationRuleConditionCheckOn.MonitorStatus:
|
|
251
250
|
case NotificationRuleConditionCheckOn.ScheduledMaintenanceState:
|
|
252
|
-
return [ConditionType.
|
|
251
|
+
return [ConditionType.ContainsAny, ConditionType.NotContains];
|
|
253
252
|
case NotificationRuleConditionCheckOn.MonitorType:
|
|
254
|
-
return [ConditionType.
|
|
253
|
+
return [ConditionType.ContainsAny, ConditionType.NotContains];
|
|
255
254
|
case NotificationRuleConditionCheckOn.AlertLabels:
|
|
256
255
|
case NotificationRuleConditionCheckOn.IncidentLabels:
|
|
257
256
|
case NotificationRuleConditionCheckOn.MonitorLabels:
|
|
258
257
|
case NotificationRuleConditionCheckOn.ScheduledMaintenanceLabels:
|
|
259
258
|
return [
|
|
260
|
-
ConditionType.
|
|
259
|
+
ConditionType.ContainsAny,
|
|
261
260
|
ConditionType.NotContains,
|
|
262
261
|
ConditionType.ContainsAll,
|
|
263
262
|
];
|
|
264
263
|
case NotificationRuleConditionCheckOn.Monitors:
|
|
265
264
|
return [
|
|
266
|
-
ConditionType.
|
|
265
|
+
ConditionType.ContainsAny,
|
|
267
266
|
ConditionType.NotContains,
|
|
268
267
|
ConditionType.ContainsAll,
|
|
269
268
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationRuleCondition.js","sourceRoot":"","sources":["../../../../../Types/Workspace/NotificationRules/NotificationRuleCondition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NotificationRuleCondition.js","sourceRoot":"","sources":["../../../../../Types/Workspace/NotificationRules/NotificationRuleCondition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertNotificationRule.js","sourceRoot":"","sources":["../../../../../../Types/Workspace/NotificationRules/NotificationRuleTypes/AlertNotificationRule.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IncidentNotificationRule.js","sourceRoot":"","sources":["../../../../../../Types/Workspace/NotificationRules/NotificationRuleTypes/IncidentNotificationRule.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonitorStatusNotificationRule.js","sourceRoot":"","sources":["../../../../../../Types/Workspace/NotificationRules/NotificationRuleTypes/MonitorStatusNotificationRule.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScheduledMaintenanceNotificationRule.js","sourceRoot":"","sources":["../../../../../../Types/Workspace/NotificationRules/NotificationRuleTypes/ScheduledMaintenanceNotificationRule.ts"],"names":[],"mappings":""}
|