Skip to content

Commit 0e208fd

Browse files
authored
chore: add change request events to teams integration (#9309)
https://linear.app/unleash/issue/2-3265/investigate-teams-integration-for-change-request-notifications Adds change request events to the Teams integration.
1 parent 1dad28f commit 0e208fd

File tree

3 files changed

+45
-1
lines changed

3 files changed

+45
-1
lines changed

src/lib/addons/teams.ts

+38
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,24 @@ import {
1313
import type { IEvent } from '../types/events';
1414
import type { IntegrationEventState } from '../features/integration-events/integration-events-store';
1515

16+
import {
17+
CHANGE_ADDED,
18+
CHANGE_DISCARDED,
19+
CHANGE_EDITED,
20+
CHANGE_REQUEST_APPLIED,
21+
CHANGE_REQUEST_APPROVAL_ADDED,
22+
CHANGE_REQUEST_APPROVED,
23+
CHANGE_REQUEST_CANCELLED,
24+
CHANGE_REQUEST_CREATED,
25+
CHANGE_REQUEST_DISCARDED,
26+
CHANGE_REQUEST_REJECTED,
27+
CHANGE_REQUEST_SENT_TO_REVIEW,
28+
CHANGE_REQUEST_SCHEDULED,
29+
CHANGE_REQUEST_SCHEDULED_APPLICATION_SUCCESS,
30+
CHANGE_REQUEST_SCHEDULED_APPLICATION_FAILURE,
31+
CHANGE_REQUEST_SCHEDULE_SUSPENDED,
32+
} from '../types/events';
33+
1634
interface ITeamsParameters {
1735
url: string;
1836
customHeaders?: string;
@@ -23,6 +41,26 @@ export default class TeamsAddon extends Addon {
2341
flagResolver: IFlagResolver;
2442

2543
constructor(args: IAddonConfig) {
44+
if (args.flagResolver.isEnabled('teamsIntegrationChangeRequests')) {
45+
teamsDefinition.events = [
46+
...teamsDefinition.events!,
47+
CHANGE_ADDED,
48+
CHANGE_DISCARDED,
49+
CHANGE_EDITED,
50+
CHANGE_REQUEST_APPLIED,
51+
CHANGE_REQUEST_APPROVAL_ADDED,
52+
CHANGE_REQUEST_APPROVED,
53+
CHANGE_REQUEST_CANCELLED,
54+
CHANGE_REQUEST_CREATED,
55+
CHANGE_REQUEST_DISCARDED,
56+
CHANGE_REQUEST_REJECTED,
57+
CHANGE_REQUEST_SENT_TO_REVIEW,
58+
CHANGE_REQUEST_SCHEDULED,
59+
CHANGE_REQUEST_SCHEDULED_APPLICATION_SUCCESS,
60+
CHANGE_REQUEST_SCHEDULED_APPLICATION_FAILURE,
61+
CHANGE_REQUEST_SCHEDULE_SUSPENDED,
62+
];
63+
}
2664
super(teamsDefinition, args);
2765
this.msgFormatter = new FeatureEventFormatterMd({
2866
unleashUrl: args.unleashUrl,

src/lib/types/experimental.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ export type IFlagKey =
6666
| 'frontendHeaderRedesign'
6767
| 'dataUsageMultiMonthView'
6868
| 'uiGlobalFontSize'
69-
| 'connectionCount';
69+
| 'connectionCount'
70+
| 'teamsIntegrationChangeRequests';
7071

7172
export type IFlags = Partial<{ [key in IFlagKey]: boolean | Variant }>;
7273

@@ -319,6 +320,10 @@ const flags: IFlags = {
319320
process.env.EXPERIMENTAL_CONNECTION_COUNT,
320321
false,
321322
),
323+
teamsIntegrationChangeRequests: parseEnvVarBoolean(
324+
process.env.EXPERIMENTAL_TEAMS_INTEGRATION_CHANGE_REQUESTS,
325+
false,
326+
),
322327
};
323328

324329
export const defaultExperimentalOptions: IExperimentalOptions = {

src/server-dev.ts

+1
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ process.nextTick(async () => {
6060
dataUsageMultiMonthView: true,
6161
filterExistingFlagNames: true,
6262
uiGlobalFontSize: true,
63+
teamsIntegrationChangeRequests: true,
6364
},
6465
},
6566
authentication: {

0 commit comments

Comments
 (0)