From c15b04819070d422586073a5e54a6c8518e81212 Mon Sep 17 00:00:00 2001 From: Adam Setch Date: Wed, 21 Feb 2024 07:50:02 -0400 Subject: [PATCH 1/2] feat: add member_feature_requested reason --- src/typesGithub.ts | 5 +++-- src/utils/github-api.ts | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/typesGithub.ts b/src/typesGithub.ts index 98dfa7f51..455583d76 100644 --- a/src/typesGithub.ts +++ b/src/typesGithub.ts @@ -1,16 +1,17 @@ export type Reason = | 'assign' | 'author' + | 'ci_activity' | 'comment' | 'invitation' | 'manual' + | 'member_feature_requested' | 'mention' | 'review_requested' | 'security_alert' | 'state_change' | 'subscribed' - | 'team_mention' - | 'ci_activity'; + | 'team_mention'; export type SubjectType = | 'CheckSuite' diff --git a/src/utils/github-api.ts b/src/utils/github-api.ts index ea1adca02..f5b45395a 100644 --- a/src/utils/github-api.ts +++ b/src/utils/github-api.ts @@ -25,6 +25,7 @@ const DESCRIPTIONS = { COMMENT: 'You commented on the thread.', INVITATION: 'You accepted an invitation to contribute to the repository.', MANUAL: 'You subscribed to the thread (via an issue or pull request).', + MEMBER_FEATURE_REQUESTED: 'Organization members have requested to enable a feature such as Draft Pull Requests or CoPilot.', MENTION: 'You were specifically @mentioned in the content.', REVIEW_REQUESTED: "You, or a team you're a member of, were requested to review a pull request.", SECURITY_ALERT: 'GitHub discovered a security vulnerability in your repository.', @@ -51,6 +52,8 @@ export function formatReason(reason: Reason): { return { type: 'Invitation', description: DESCRIPTIONS['INVITATION'] }; case 'manual': return { type: 'Manual', description: DESCRIPTIONS['MANUAL'] }; + case 'member_feature_requested': + return { type: 'Member Feature Requested', description: DESCRIPTIONS['MEMBER_FEATURE_REQUESTED'] }; case 'mention': return { type: 'Mention', description: DESCRIPTIONS['MENTION'] }; case 'review_requested': From 2ea6e004d7c62826fe236ab515d5fe5f3ae65040 Mon Sep 17 00:00:00 2001 From: Adam Setch Date: Wed, 21 Feb 2024 07:55:16 -0400 Subject: [PATCH 2/2] feat: add member_feature_requested reason --- .../__snapshots__/github-api.test.ts.snap | 39 +++++++++++-------- src/utils/github-api.test.ts | 3 +- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/utils/__snapshots__/github-api.test.ts.snap b/src/utils/__snapshots__/github-api.test.ts.snap index f2aa11664..09d818883 100644 --- a/src/utils/__snapshots__/github-api.test.ts.snap +++ b/src/utils/__snapshots__/github-api.test.ts.snap @@ -31,76 +31,83 @@ exports[`./utils/github-api.ts should format the notification reason 2`] = ` `; exports[`./utils/github-api.ts should format the notification reason 3`] = ` +{ + "description": "A GitHub Actions workflow run was triggered for your repository", + "type": "Workflow Run", +} +`; + +exports[`./utils/github-api.ts should format the notification reason 4`] = ` { "description": "You commented on the thread.", "type": "Comment", } `; -exports[`./utils/github-api.ts should format the notification reason 4`] = ` +exports[`./utils/github-api.ts should format the notification reason 5`] = ` { "description": "You accepted an invitation to contribute to the repository.", "type": "Invitation", } `; -exports[`./utils/github-api.ts should format the notification reason 5`] = ` +exports[`./utils/github-api.ts should format the notification reason 6`] = ` { "description": "You subscribed to the thread (via an issue or pull request).", "type": "Manual", } `; -exports[`./utils/github-api.ts should format the notification reason 6`] = ` +exports[`./utils/github-api.ts should format the notification reason 7`] = ` +{ + "description": "Organization members have requested to enable a feature such as Draft Pull Requests or CoPilot.", + "type": "Member Feature Requested", +} +`; + +exports[`./utils/github-api.ts should format the notification reason 8`] = ` { "description": "You were specifically @mentioned in the content.", "type": "Mention", } `; -exports[`./utils/github-api.ts should format the notification reason 7`] = ` +exports[`./utils/github-api.ts should format the notification reason 9`] = ` { "description": "You, or a team you're a member of, were requested to review a pull request.", "type": "Review Requested", } `; -exports[`./utils/github-api.ts should format the notification reason 8`] = ` +exports[`./utils/github-api.ts should format the notification reason 10`] = ` { "description": "GitHub discovered a security vulnerability in your repository.", "type": "Security Alert", } `; -exports[`./utils/github-api.ts should format the notification reason 9`] = ` +exports[`./utils/github-api.ts should format the notification reason 11`] = ` { "description": "You changed the thread state (for example, closing an issue or merging a pull request).", "type": "State Change", } `; -exports[`./utils/github-api.ts should format the notification reason 10`] = ` +exports[`./utils/github-api.ts should format the notification reason 12`] = ` { "description": "You're watching the repository.", "type": "Subscribed", } `; -exports[`./utils/github-api.ts should format the notification reason 11`] = ` +exports[`./utils/github-api.ts should format the notification reason 13`] = ` { "description": "You were on a team that was mentioned.", "type": "Team Mention", } `; -exports[`./utils/github-api.ts should format the notification reason 12`] = ` -{ - "description": "A GitHub Actions workflow run was triggered for your repository", - "type": "Workflow Run", -} -`; - -exports[`./utils/github-api.ts should format the notification reason 13`] = ` +exports[`./utils/github-api.ts should format the notification reason 14`] = ` { "description": "The reason for this notification is not supported by the app.", "type": "Unknown", diff --git a/src/utils/github-api.test.ts b/src/utils/github-api.test.ts index c0b31fb4e..8a055d377 100644 --- a/src/utils/github-api.test.ts +++ b/src/utils/github-api.test.ts @@ -9,16 +9,17 @@ describe('./utils/github-api.ts', () => { it('should format the notification reason', () => { expect(formatReason('assign')).toMatchSnapshot(); expect(formatReason('author')).toMatchSnapshot(); + expect(formatReason('ci_activity')).toMatchSnapshot(); expect(formatReason('comment')).toMatchSnapshot(); expect(formatReason('invitation')).toMatchSnapshot(); expect(formatReason('manual')).toMatchSnapshot(); + expect(formatReason('member_feature_requested')).toMatchSnapshot(); expect(formatReason('mention')).toMatchSnapshot(); expect(formatReason('review_requested')).toMatchSnapshot(); expect(formatReason('security_alert')).toMatchSnapshot(); expect(formatReason('state_change')).toMatchSnapshot(); expect(formatReason('subscribed')).toMatchSnapshot(); expect(formatReason('team_mention')).toMatchSnapshot(); - expect(formatReason('ci_activity')).toMatchSnapshot(); expect(formatReason('something_else_unknown' as Reason)).toMatchSnapshot(); });