diff --git a/.changeset/thirty-peas-exist.md b/.changeset/thirty-peas-exist.md new file mode 100644 index 0000000000..7c71d1047f --- /dev/null +++ b/.changeset/thirty-peas-exist.md @@ -0,0 +1,5 @@ +--- +'@backstage/integration': patch +--- + +Fixed bug in integration package where Self Hosted GitLab instances with custom ports weren't supported (because of the lack of an option to add the port in the integration configs. Now users can add the port directly in the host) diff --git a/packages/integration/src/gitlab/config.ts b/packages/integration/src/gitlab/config.ts index f74b849c74..71b4cd868f 100644 --- a/packages/integration/src/gitlab/config.ts +++ b/packages/integration/src/gitlab/config.ts @@ -82,11 +82,7 @@ export function readGitLabIntegrationConfig( baseUrl = `https://${host}`; } - if (host.includes(':')) { - throw new Error( - `Invalid GitLab integration config, host '${host}' should just be the host name (e.g. "github.com"), not a URL`, - ); - } else if (!isValidHost(host)) { + if (!isValidHost(host)) { throw new Error( `Invalid GitLab integration config, '${host}' is not a valid host`, ); diff --git a/packages/integration/src/gitlab/core.ts b/packages/integration/src/gitlab/core.ts index c5b0713340..b379d3d129 100644 --- a/packages/integration/src/gitlab/core.ts +++ b/packages/integration/src/gitlab/core.ts @@ -138,7 +138,7 @@ export async function getProjectId( // Convert // to: https://gitlab.com/api/v4/projects/groupA%2Fteams%2FsubgroupA%2FteamA%2Frepo const repoIDLookup = new URL( - `${url.protocol + url.hostname}/api/v4/projects/${encodeURIComponent( + `${url.origin}/api/v4/projects/${encodeURIComponent( repo.replace(/^\//, ''), )}`, );