diff --git a/.changeset/hot-cooks-enjoy.md b/.changeset/hot-cooks-enjoy.md new file mode 100644 index 0000000000..3b7e86505c --- /dev/null +++ b/.changeset/hot-cooks-enjoy.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': patch +--- + +Fix edge case bug when gitlab relativePath is repeated in the target URL. diff --git a/packages/backend-common/src/reading/GitlabUrlReader.ts b/packages/backend-common/src/reading/GitlabUrlReader.ts index 5bc234daef..eaa15a7208 100644 --- a/packages/backend-common/src/reading/GitlabUrlReader.ts +++ b/packages/backend-common/src/reading/GitlabUrlReader.ts @@ -125,8 +125,12 @@ export class GitlabUrlReader implements UrlReader { ); // Considering self hosted gitlab with relative + // assuming '/gitlab' is the relative path + // from: /gitlab/repo/project + // to: repo/project if (relativePath) { - repoFullName = trimStart(full_name, relativePath); + const rectifiedRelativePath = `${trimStart(relativePath, '/')}/`; + repoFullName = full_name.replace(rectifiedRelativePath, ''); } // Use GitLab API to get the default branch