diff --git a/plugins/scaffolder/src/components/fields/RepoBranchPicker/GitHubRepoBranchPicker.test.tsx b/plugins/scaffolder/src/components/fields/RepoBranchPicker/GitHubRepoBranchPicker.test.tsx
index 3e89b13aa7..56c65e6cf7 100644
--- a/plugins/scaffolder/src/components/fields/RepoBranchPicker/GitHubRepoBranchPicker.test.tsx
+++ b/plugins/scaffolder/src/components/fields/RepoBranchPicker/GitHubRepoBranchPicker.test.tsx
@@ -20,7 +20,13 @@ import {
scaffolderApiRef,
} from '@backstage/plugin-scaffolder-react';
import { GitHubRepoBranchPicker } from './GitHubRepoBranchPicker';
-import { act, fireEvent, render, waitFor } from '@testing-library/react';
+import {
+ act,
+ fireEvent,
+ render,
+ waitFor,
+ screen,
+} from '@testing-library/react';
import { TestApiProvider } from '@backstage/test-utils';
import userEvent from '@testing-library/user-event';
@@ -44,6 +50,25 @@ describe('GitHubRepoBranchPicker', () => {
expect(getByRole('textbox')).toHaveValue('main');
});
+ it('input field disabled', () => {
+ render(
+
+
+ ,
+ );
+
+ const input = screen.getByRole('textbox');
+
+ // Expect input to be disabled
+ expect(input).toBeDisabled();
+ expect(input).toHaveValue('main');
+ });
+
it('calls onChange when the input field changes', () => {
const onChange = jest.fn();
diff --git a/plugins/scaffolder/src/components/fields/RepoBranchPicker/GitHubRepoBranchPicker.tsx b/plugins/scaffolder/src/components/fields/RepoBranchPicker/GitHubRepoBranchPicker.tsx
index e4995ceeaa..cfcc3ad900 100644
--- a/plugins/scaffolder/src/components/fields/RepoBranchPicker/GitHubRepoBranchPicker.tsx
+++ b/plugins/scaffolder/src/components/fields/RepoBranchPicker/GitHubRepoBranchPicker.tsx
@@ -36,6 +36,7 @@ export const GitHubRepoBranchPicker = ({
state,
rawErrors,
accessToken,
+ isDisabled,
required,
}: BaseRepoBranchPickerProps<{
accessToken?: string;
@@ -86,9 +87,15 @@ export const GitHubRepoBranchPicker = ({
onChange={(_, newValue) => {
onChange({ branch: newValue || '' });
}}
+ disabled={isDisabled}
options={availableBranches}
renderInput={params => (
-
+
)}
freeSolo
autoSelect