From ac23003f62f18a969a4ac8a0c6a52a72d8ef156f Mon Sep 17 00:00:00 2001 From: blam Date: Mon, 31 Jan 2022 21:17:53 +0100 Subject: [PATCH] chore: encode some values too Signed-off-by: blam --- .../fields/RepoUrlPicker/RepoUrlPicker.test.tsx | 3 +-- .../src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx | 8 +++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.test.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.test.tsx index 3769176cb4..829495cdda 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.test.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.test.tsx @@ -23,12 +23,11 @@ import { scmAuthApiRef, ScmAuthApi, } from '@backstage/integration-react'; -import { scaffolderApiRef } from '../../../api'; +import { scaffolderApiRef, ScaffolderApi } from '../../../api'; import { SecretsContextProvider, SecretsContext, } from '../../secrets/SecretsContext'; -import { ScaffolderApi } from '../../..'; import { act, fireEvent } from '@testing-library/react'; describe('RepoUrlPicker', () => { diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx index c8b1a0cf31..1ccaed4e86 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx @@ -92,11 +92,17 @@ export const RepoUrlPicker = ( return; } + const [host, owner, repoName] = [ + state.host, + state.owner, + state.repoName, + ].map(encodeURIComponent); + // user has requested that we use the users credentials // so lets grab them using the scmAuthApi and pass through // any additional scopes from the ui:options const { token } = await scmAuthApi.getCredentials({ - url: `https://${state.host}/${state.owner}/${state.repoName}`, + url: `https://${host}/${owner}/${repoName}`, additionalScope: { repoWrite: true, customScopes: requestUserCredentials.additionalScopes,