diff --git a/.changeset/metal-peas-beam.md b/.changeset/metal-peas-beam.md
new file mode 100644
index 0000000000..a4ebdeb69a
--- /dev/null
+++ b/.changeset/metal-peas-beam.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder': patch
+---
+
+Display log visibility button on the template panel
diff --git a/plugins/scaffolder/src/next/OngoingTask/OngoingTask.test.tsx b/plugins/scaffolder/src/next/OngoingTask/OngoingTask.test.tsx
index 16d9740c15..9d3f29fe7b 100644
--- a/plugins/scaffolder/src/next/OngoingTask/OngoingTask.test.tsx
+++ b/plugins/scaffolder/src/next/OngoingTask/OngoingTask.test.tsx
@@ -112,4 +112,29 @@ describe('OngoingTask', () => {
expect(getByTestId('cancel-button')).toHaveClass('Mui-disabled');
});
});
+
+ it('should initially do not display logs', async () => {
+ const rendered = await renderInTestApp(
+
+
+ ,
+ { mountedRoutes: { '/': rootRouteRef } },
+ );
+ await expect(rendered.findByText('Show Logs')).resolves.toBeInTheDocument();
+ });
+
+ it('should toggle logs visibility', async () => {
+ const rendered = await renderInTestApp(
+
+
+ ,
+ { mountedRoutes: { '/': rootRouteRef } },
+ );
+ await act(async () => {
+ const element = await rendered.findByText('Show Logs');
+ fireEvent.click(element);
+ });
+
+ await expect(rendered.findByText('Hide Logs')).resolves.toBeInTheDocument();
+ });
});
diff --git a/plugins/scaffolder/src/next/OngoingTask/OngoingTask.tsx b/plugins/scaffolder/src/next/OngoingTask/OngoingTask.tsx
index 91c04897d9..b483cd27cb 100644
--- a/plugins/scaffolder/src/next/OngoingTask/OngoingTask.tsx
+++ b/plugins/scaffolder/src/next/OngoingTask/OngoingTask.tsx
@@ -46,6 +46,9 @@ const useStyles = makeStyles(theme => ({
cancelButton: {
marginRight: theme.spacing(1),
},
+ logsVisibilityButton: {
+ marginRight: theme.spacing(1),
+ },
}));
export const OngoingTask = (props: {
@@ -188,6 +191,14 @@ export const OngoingTask = (props: {
>
Cancel
+