diff --git a/.changeset/six-pandas-yawn.md b/.changeset/six-pandas-yawn.md new file mode 100644 index 0000000000..0f4665f7c1 --- /dev/null +++ b/.changeset/six-pandas-yawn.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-defaults': patch +--- + +Fix gitlabUrlReader issue with retrieving the repository archive tree diff --git a/.patches/pr-34415.txt b/.patches/pr-34415.txt new file mode 100644 index 0000000000..b728afdcff --- /dev/null +++ b/.patches/pr-34415.txt @@ -0,0 +1 @@ +Fix 406 response for repository/archive retrieval in gitlabUrlReader \ No newline at end of file diff --git a/packages/backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader.ts b/packages/backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader.ts index 23a39003b6..81c493dd46 100644 --- a/packages/backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader.ts +++ b/packages/backend-defaults/src/entrypoints/urlReader/lib/GitlabUrlReader.ts @@ -211,6 +211,10 @@ export class GitlabUrlReader implements UrlReaderService { )}/repository/archive?${archiveReqParams.toString()}`; const archiveGitLabResponse = await this.integration.fetch(reqUrl, { ...getGitLabRequestOptions(this.integration.config, token), + // The mode is set to 'same-origin' to overwrite the default 'cors' value. + // The repository/archive endpoint marks mode='cors' as a "hotlink" which will return 406 - Not Acceptable as a response + // More info on this issue can be found @ https://github.com/backstage/backstage/issues/34395 + mode: 'same-origin', // TODO(freben): The signal cast is there because pre-3.x versions of // node-fetch have a very slightly deviating AbortSignal type signature. // The difference does not affect us in practice however. The cast can