diff --git a/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.test.ts b/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.test.ts index f50a61a103..2a63605b0d 100644 --- a/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.test.ts +++ b/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.test.ts @@ -99,8 +99,8 @@ function setupBitbucketCloudStubs( server.use( rest.get( `https://api.bitbucket.org/2.0/repositories/${workspace}`, - (_, res, ctx) => { - stubCallerFn(_); + (req, res, ctx) => { + stubCallerFn(req); return res( ctx.json( pagedResponse( diff --git a/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.ts index fc3898f066..6a09694ae8 100644 --- a/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.ts @@ -246,8 +246,7 @@ function parseUrl(urlString: string): { function readPathParameters(pathParts: string[]): Map { const vals: Record = {}; - for (let i = 0; i < pathParts.length; i += 2) { - if (i + 1 >= pathParts.length) continue; + for (let i = 0; i + 1 < pathParts.length; i += 2) { vals[pathParts[i]] = decodeURIComponent(pathParts[i + 1]); } return new Map(Object.entries(vals)); diff --git a/plugins/catalog-backend/src/ingestion/processors/bitbucket/client.ts b/plugins/catalog-backend/src/ingestion/processors/bitbucket/client.ts index 60a2e62bb7..b578799229 100644 --- a/plugins/catalog-backend/src/ingestion/processors/bitbucket/client.ts +++ b/plugins/catalog-backend/src/ingestion/processors/bitbucket/client.ts @@ -37,7 +37,7 @@ export class BitbucketClient { options?: ListOptions20, ): Promise> { return this.pagedRequest20( - `${this.config.apiBaseUrl}/repositories/${workspace}`, + `${this.config.apiBaseUrl}/repositories/${encodeURIComponent(workspace)}`, options, ); } @@ -47,7 +47,9 @@ export class BitbucketClient { options?: ListOptions, ): Promise> { return this.pagedRequest( - `${this.config.apiBaseUrl}/projects/${projectKey}/repos`, + `${this.config.apiBaseUrl}/projects/${encodeURIComponent( + projectKey, + )}/repos`, options, ); } @@ -74,9 +76,7 @@ export class BitbucketClient { } - ${response.statusText}`, ); } - return response.json().then(repositories => { - return repositories as PagedResponse; - }); + return response.json() as Promise>; } private async pagedRequest20( @@ -101,9 +101,7 @@ export class BitbucketClient { } - ${response.statusText}`, ); } - return response.json().then(repositories => { - return repositories as PagedResponse20; - }); + return response.json() as Promise>; } }