From 1071a0b42a7fe83a4754985c6fdf64ed56785767 Mon Sep 17 00:00:00 2001 From: naman-contentstack Date: Thu, 17 Jul 2025 12:20:40 +0530 Subject: [PATCH 1/6] added a delay to check failing test case --- packages/contentstack-utilities/src/authentication-handler.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/contentstack-utilities/src/authentication-handler.ts b/packages/contentstack-utilities/src/authentication-handler.ts index 271aed8a35..c053b3e823 100644 --- a/packages/contentstack-utilities/src/authentication-handler.ts +++ b/packages/contentstack-utilities/src/authentication-handler.ts @@ -52,6 +52,10 @@ class AuthenticationHandler { } async refreshAccessToken(error: any, maxRetryCount = 1): Promise { + // Add delay to prevent burst requests and help diagnose GoCD pipeline failures + console.log('Adding delay before processing refreshAccessToken...'); + await new Promise((resolve) => setTimeout(resolve, 2000)); // 2 second delay + console.log('Delay completed, processing refreshAccessToken'); if (error.response && error.response.status) { switch (error.response.status) { case 401: From 9337fb55d7fba67b5b4f56ade7a8b216dd4b4d2e Mon Sep 17 00:00:00 2001 From: naman-contentstack Date: Wed, 23 Jul 2025 12:04:04 +0530 Subject: [PATCH 2/6] refactored for gocd pipelines --- .../src/authentication-handler.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/contentstack-utilities/src/authentication-handler.ts b/packages/contentstack-utilities/src/authentication-handler.ts index c053b3e823..4e12897481 100644 --- a/packages/contentstack-utilities/src/authentication-handler.ts +++ b/packages/contentstack-utilities/src/authentication-handler.ts @@ -52,10 +52,14 @@ class AuthenticationHandler { } async refreshAccessToken(error: any, maxRetryCount = 1): Promise { - // Add delay to prevent burst requests and help diagnose GoCD pipeline failures - console.log('Adding delay before processing refreshAccessToken...'); - await new Promise((resolve) => setTimeout(resolve, 2000)); // 2 second delay - console.log('Delay completed, processing refreshAccessToken'); + // Add configurable delay only for GOCD pipelines + const isGOCD = process.env.GOCD_DELAY_MS; + + if (isGOCD) { + const gocdDelay = process.env.GOCD_DELAY_MS ? parseInt(process.env.GOCD_DELAY_MS, 10) : 5000; + console.log(`Using ${gocdDelay}ms delay for GOCD pipeline`); + await new Promise((resolve) => setTimeout(resolve, gocdDelay)); + } if (error.response && error.response.status) { switch (error.response.status) { case 401: From 4774f0cccb93e4b18e844c76ac202fa66d6e370f Mon Sep 17 00:00:00 2001 From: naman-contentstack Date: Mon, 28 Jul 2025 12:27:55 +0530 Subject: [PATCH 3/6] removed console --- packages/contentstack-utilities/src/authentication-handler.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/contentstack-utilities/src/authentication-handler.ts b/packages/contentstack-utilities/src/authentication-handler.ts index 4e12897481..85b4453b57 100644 --- a/packages/contentstack-utilities/src/authentication-handler.ts +++ b/packages/contentstack-utilities/src/authentication-handler.ts @@ -57,7 +57,6 @@ class AuthenticationHandler { if (isGOCD) { const gocdDelay = process.env.GOCD_DELAY_MS ? parseInt(process.env.GOCD_DELAY_MS, 10) : 5000; - console.log(`Using ${gocdDelay}ms delay for GOCD pipeline`); await new Promise((resolve) => setTimeout(resolve, gocdDelay)); } if (error.response && error.response.status) { From 15338e9e707773368beee663567c6771a253fb29 Mon Sep 17 00:00:00 2001 From: Aman Kumar Date: Mon, 28 Jul 2025 17:30:16 +0530 Subject: [PATCH 4/6] refactor: Updated error message formatting to include a newline between the custom error message and the API error --- packages/contentstack-utilities/src/logger/log.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/contentstack-utilities/src/logger/log.ts b/packages/contentstack-utilities/src/logger/log.ts index 8108696e19..7c03d24843 100644 --- a/packages/contentstack-utilities/src/logger/log.ts +++ b/packages/contentstack-utilities/src/logger/log.ts @@ -48,11 +48,12 @@ const cliErrorHandler = new CLIErrorHandler(); // Enable debug mode for error cl */ function handleAndLogError(error: unknown, context?: ErrorContext, errorMessage?: string): void { const classified = cliErrorHandler.classifyError(error, context, errorMessage); + const apiError = classified.error?.message || classified.message; // Always log the error v2Logger.logError({ type: classified.type, - message: errorMessage || classified.error?.message || classified.message, + message: errorMessage ? `${errorMessage}\nAPI Error: ${apiError}` : `${apiError}`, error: classified.error, context: typeof classified.context === 'string' ? { message: classified.context } : classified.context, hidden: classified.hidden, From 52f4b55b2e1c4cb80ac4fa3c76ef8e239fac03bc Mon Sep 17 00:00:00 2001 From: Aman Kumar Date: Mon, 28 Jul 2025 17:31:55 +0530 Subject: [PATCH 5/6] handle default case --- packages/contentstack-utilities/src/logger/log.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/contentstack-utilities/src/logger/log.ts b/packages/contentstack-utilities/src/logger/log.ts index 7c03d24843..f2d95305c3 100644 --- a/packages/contentstack-utilities/src/logger/log.ts +++ b/packages/contentstack-utilities/src/logger/log.ts @@ -48,7 +48,7 @@ const cliErrorHandler = new CLIErrorHandler(); // Enable debug mode for error cl */ function handleAndLogError(error: unknown, context?: ErrorContext, errorMessage?: string): void { const classified = cliErrorHandler.classifyError(error, context, errorMessage); - const apiError = classified.error?.message || classified.message; + const apiError = classified.error?.message || classified?.message || 'Unknown error'; // Always log the error v2Logger.logError({ From e30b8a882fd360f3b64f3ae1e910913b9db7e9a1 Mon Sep 17 00:00:00 2001 From: naman-contentstack Date: Mon, 28 Jul 2025 19:53:48 +0530 Subject: [PATCH 6/6] update key names --- .../src/authentication-handler.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/contentstack-utilities/src/authentication-handler.ts b/packages/contentstack-utilities/src/authentication-handler.ts index 85b4453b57..94568f3004 100644 --- a/packages/contentstack-utilities/src/authentication-handler.ts +++ b/packages/contentstack-utilities/src/authentication-handler.ts @@ -52,12 +52,12 @@ class AuthenticationHandler { } async refreshAccessToken(error: any, maxRetryCount = 1): Promise { - // Add configurable delay only for GOCD pipelines - const isGOCD = process.env.GOCD_DELAY_MS; + // Add configurable delay only for CI/CD pipelines + const delayMs = process.env.DELAY_MS; - if (isGOCD) { - const gocdDelay = process.env.GOCD_DELAY_MS ? parseInt(process.env.GOCD_DELAY_MS, 10) : 5000; - await new Promise((resolve) => setTimeout(resolve, gocdDelay)); + if (delayMs) { + const delay = parseInt(delayMs, 10); + await new Promise((resolve) => setTimeout(resolve, delay)); } if (error.response && error.response.status) { switch (error.response.status) {