diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.test.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.test.tsx
index a070e0c6e4..0f85b6d037 100644
--- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.test.tsx
+++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.test.tsx
@@ -100,4 +100,31 @@ describe('RepoUrlPickerHostField', () => {
expect(listbox.getAllByRole('option')).toHaveLength(2);
});
+
+ it('disables the host select when isDisabled is true', async () => {
+ const mockOnChange = jest.fn();
+ const mockScaffolderApi = {
+ getIntegrationsList: jest.fn().mockResolvedValue({
+ integrations: [
+ { host: 'github.com', title: 'github.com', type: 'github' },
+ { host: 'gitlab.com', title: 'gitlab.com', type: 'gitlab' },
+ ],
+ }),
+ };
+
+ const { getByTestId } = await renderInTestApp(
+
+
+ ,
+ );
+
+ const selectElement = getByTestId('host-select').querySelector('select');
+
+ expect(selectElement).toBeDisabled();
+ });
});
diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.tsx
index 90f8eaf449..787aa68987 100644
--- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.tsx
+++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.tsx
@@ -28,8 +28,9 @@ export const RepoUrlPickerHost = (props: {
hosts?: string[];
onChange: (host: string) => void;
rawErrors: string[];
+ isDisabled?: boolean;
}) => {
- const { host, hosts, onChange, rawErrors } = props;
+ const { host, hosts, onChange, rawErrors, isDisabled } = props;
const { t } = useTranslationRef(scaffolderTranslationRef);
const scaffolderApi = useApi(scaffolderApiRef);
@@ -75,7 +76,7 @@ export const RepoUrlPickerHost = (props: {
>