From a7810510fc986e874f3bb0a68e405057e4ef6e0c Mon Sep 17 00:00:00 2001 From: ElaineDeMattosSilvaB Date: Wed, 22 May 2024 10:13:30 +0200 Subject: [PATCH 1/3] fix: handle missing orgEnabled config key gracefully by logging and returning early. Fixes #24857 Signed-off-by: ElaineDeMattosSilvaB --- .../GitlabOrgDiscoveryEntityProvider.test.ts | 14 +++++++------- .../providers/GitlabOrgDiscoveryEntityProvider.ts | 5 +++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.test.ts b/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.test.ts index dfbf39267f..5a60f1b4b3 100644 --- a/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.test.ts +++ b/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.test.ts @@ -75,16 +75,16 @@ describe('GitlabOrgDiscoveryEntityProvider - configuration', () => { }).toThrow('No gitlab integration found that matches host example.com'); }); - it('should throw error when org configuration not found', () => { + it('should log a message and return when org configuration not found', () => { const schedule = new PersistingTaskRunner(); const config = new ConfigReader(mock.config_no_org_integration); - expect(() => { - GitlabOrgDiscoveryEntityProvider.fromConfig(config, { - logger, - schedule, - }); - }).toThrow('Org not enabled for test-id'); + GitlabOrgDiscoveryEntityProvider.fromConfig(config, { + logger, + schedule, + }); + + expect(logger.info).toHaveBeenCalledWith('Org not enabled for test-id.'); }); it('should throw error when saas without group configuration', () => { diff --git a/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.ts b/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.ts index 0135c7b4a9..e10f9ee313 100644 --- a/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.ts +++ b/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.ts @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { LoggerService } from '@backstage/backend-plugin-api'; import { PluginTaskScheduler, TaskRunner } from '@backstage/backend-tasks'; import { ANNOTATION_LOCATION, @@ -28,7 +29,6 @@ import { import { EventsService } from '@backstage/plugin-events-node'; import { merge } from 'lodash'; import * as uuid from 'uuid'; -import { LoggerService } from '@backstage/backend-plugin-api'; import { GitLabClient, @@ -133,7 +133,8 @@ export class GitlabOrgDiscoveryEntityProvider implements EntityProvider { const integration = integrations.byHost(providerConfig.host); if (!providerConfig.orgEnabled) { - throw new Error(`Org not enabled for ${providerConfig.id}.`); + options.logger.info(`Org not enabled for ${providerConfig.id}.`); + return; } if (!integration) { From 150fc77dda093682db1473b895a6e2ac52ac5ec0 Mon Sep 17 00:00:00 2001 From: ElaineDeMattosSilvaB Date: Wed, 22 May 2024 10:18:00 +0200 Subject: [PATCH 2/3] chore: add changeset Signed-off-by: ElaineDeMattosSilvaB --- .changeset/nine-hairs-kick.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/nine-hairs-kick.md diff --git a/.changeset/nine-hairs-kick.md b/.changeset/nine-hairs-kick.md new file mode 100644 index 0000000000..9fac4bb4c2 --- /dev/null +++ b/.changeset/nine-hairs-kick.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-gitlab': patch +--- + +Fixed an issue in `GitlabOrgDiscoveryEntityProvider` where a missing `orgEnabled`config key was throwing an error instead of just returning. From bca953dbb6ad702d96fab94443bc90a1ed25521e Mon Sep 17 00:00:00 2001 From: Vincenzo Scamporlino Date: Wed, 22 May 2024 11:17:05 +0200 Subject: [PATCH 3/3] Update .changeset/nine-hairs-kick.md Signed-off-by: Vincenzo Scamporlino --- .changeset/nine-hairs-kick.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/nine-hairs-kick.md b/.changeset/nine-hairs-kick.md index 9fac4bb4c2..e4160640b4 100644 --- a/.changeset/nine-hairs-kick.md +++ b/.changeset/nine-hairs-kick.md @@ -2,4 +2,4 @@ '@backstage/plugin-catalog-backend-module-gitlab': patch --- -Fixed an issue in `GitlabOrgDiscoveryEntityProvider` where a missing `orgEnabled`config key was throwing an error instead of just returning. +Fixed an issue in `GitlabOrgDiscoveryEntityProvider` where a missing `orgEnabled` config key was throwing an error.