From 6eefc8ecb59e8a40946c01b94d110757e04484b3 Mon Sep 17 00:00:00 2001 From: Victor Lyuboslavsky <2685025+getvictor@users.noreply.github.com> Date: Mon, 6 Oct 2025 13:44:03 -0500 Subject: [PATCH] Add Security & compliance group to GitHub webhook. (#33850) **Related issue:** Resolves #33848 ## Summary by CodeRabbit - New Features - Added support for the Security & Compliance project within the GitHub integration, enabling tracking and visibility alongside existing projects. - Refactor - Streamlined project mapping logic to improve consistency when processing updates from GitHub; behavior for existing projects remains unchanged. --- .../webhooks/receive-from-github.js | 35 +++++-------------- website/config/custom.js | 3 +- 2 files changed, 11 insertions(+), 27 deletions(-) diff --git a/website/api/controllers/webhooks/receive-from-github.js b/website/api/controllers/webhooks/receive-from-github.js index 27dc78246a..8eb3a8bf56 100644 --- a/website/api/controllers/webhooks/receive-from-github.js +++ b/website/api/controllers/webhooks/receive-from-github.js @@ -748,6 +748,7 @@ module.exports = { * - Orchestration * - MDM * - Software + * - Security & compliance * * Status transitions tracked: * @@ -1172,19 +1173,10 @@ module.exports = { return Math.max(0, Math.floor(diffMs / 1000)); }); - // Determine project name - let projectName = ''; - switch (projectNumber) { - case sails.config.custom.githubProjectsV2.projects.orchestration: - projectName = 'orchestration'; - break; - case sails.config.custom.githubProjectsV2.projects.mdm: - projectName = 'mdm'; - break; - case sails.config.custom.githubProjectsV2.projects.software: - projectName = 'software'; - break; - } + // Determine project name by reverse lookup + const projectName = Object.keys(sails.config.custom.githubProjectsV2.projects).find( + key => sails.config.custom.githubProjectsV2.projects[key] === projectNumber + ) || ''; // Prepare QA ready data const qaReadyData = { @@ -1403,19 +1395,10 @@ module.exports = { return Math.max(0, Math.floor(diffMs / 1000)); }); - // Determine project name - let projectName = ''; - switch (projectNumber) { - case sails.config.custom.githubProjectsV2.projects.orchestration: - projectName = 'orchestration'; - break; - case sails.config.custom.githubProjectsV2.projects.mdm: - projectName = 'mdm'; - break; - case sails.config.custom.githubProjectsV2.projects.software: - projectName = 'software'; - break; - } + // Determine project name by reverse lookup + const projectName = Object.keys(sails.config.custom.githubProjectsV2.projects).find( + key => sails.config.custom.githubProjectsV2.projects[key] === projectNumber + ) || ''; // Prepare release ready data const releaseReadyData = { diff --git a/website/config/custom.js b/website/config/custom.js index 8cc4a0946b..17da663912 100644 --- a/website/config/custom.js +++ b/website/config/custom.js @@ -416,7 +416,8 @@ module.exports.custom = { projects: { orchestration: 71, mdm: 58, - software: 70 + software: 70, + 'security-compliance': 97 }, excludeWeekends: true },