Generated API reports and hiding the "Retry" option if task is not retryable

Signed-off-by: bnechyporenko <bnechyporenko@bol.com>
This commit is contained in:
bnechyporenko
2024-09-10 21:44:02 +02:00
committed by blam
parent 11e07521ab
commit 42b3a4c106
7 changed files with 48 additions and 19 deletions
+13 -1
View File
@@ -135,6 +135,14 @@ export function createDebugLogAction(): TemplateAction_2<
JsonObject
>;
// @public
export function createFailAction(): TemplateAction_2<
{
timesToFail: number;
},
JsonObject
>;
// @public
export function createFetchCatalogEntityAction(options: {
catalogClient: CatalogApi;
@@ -398,7 +406,6 @@ export interface CurrentClaimedTask {
spec: TaskSpec;
state?: JsonObject;
taskId: string;
// (undocumented)
workspace?: Promise<Buffer>;
}
@@ -488,6 +495,8 @@ export class DatabaseTaskStore implements TaskStore {
targetPath: string;
}): Promise<void>;
// (undocumented)
retryTask?(options: { taskId: string }): Promise<void>;
// (undocumented)
saveTaskState(options: { taskId: string; state?: JsonObject }): Promise<void>;
// (undocumented)
serializeWorkspace(options: { path: string; taskId: string }): Promise<void>;
@@ -740,6 +749,8 @@ export interface TaskStore {
targetPath: string;
}): Promise<void>;
// (undocumented)
retryTask?(options: { taskId: string }): Promise<void>;
// (undocumented)
saveTaskState?(options: {
taskId: string;
state?: JsonObject;
@@ -776,6 +787,7 @@ export type TaskStoreEmitOptions<TBody = JsonObject> = {
// @public
export type TaskStoreListEventsOptions = {
isTaskRecoverable?: boolean;
taskId: string;
after?: number | undefined;
};
+3
View File
@@ -292,6 +292,7 @@ export type SerializedTask = {
// @public
export type SerializedTaskEvent = {
id: number;
isTaskRecoverable?: boolean;
taskId: string;
body: JsonObject;
type: TaskEventType;
@@ -340,6 +341,8 @@ export interface TaskBroker {
// (undocumented)
recoverTasks?(): Promise<void>;
// (undocumented)
retry?(taskId: string): Promise<void>;
// (undocumented)
vacuumTasks(options: { timeoutS: number }): Promise<void>;
}
+3
View File
@@ -213,6 +213,7 @@ export interface ScaffolderApi {
listTasks?(options: { filterByOwnership: 'owned' | 'all' }): Promise<{
tasks: ScaffolderTask[];
}>;
retry?(taskId: string): Promise<void>;
scaffold(
options: ScaffolderScaffoldOptions,
): Promise<ScaffolderScaffoldResponse>;
@@ -432,6 +433,8 @@ export interface ScaffolderStreamLogsOptions {
// (undocumented)
after?: number;
// (undocumented)
isTaskRecoverable?: boolean;
// (undocumented)
taskId: string;
}
+2
View File
@@ -216,6 +216,7 @@ export const scaffolderTranslationRef: TranslationRef<
readonly 'ongoingTask.title': 'Run of';
readonly 'ongoingTask.contextMenu.cancel': 'Cancel';
readonly 'ongoingTask.contextMenu.startOver': 'Start Over';
readonly 'ongoingTask.contextMenu.retry': 'Retry';
readonly 'ongoingTask.contextMenu.hideLogs': 'Hide Logs';
readonly 'ongoingTask.contextMenu.showLogs': 'Show Logs';
readonly 'ongoingTask.contextMenu.hideButtonBar': 'Hide Button Bar';
@@ -224,6 +225,7 @@ export const scaffolderTranslationRef: TranslationRef<
readonly 'ongoingTask.pageTitle.hasTemplateName': 'Run of {{templateName}}';
readonly 'ongoingTask.pageTitle.noTemplateName': 'Scaffolder Run';
readonly 'ongoingTask.cancelButtonTitle': 'Cancel';
readonly 'ongoingTask.retryButtonTitle': 'Retry';
readonly 'ongoingTask.startOverButtonTitle': 'Start Over';
readonly 'ongoingTask.hideLogsButtonTitle': 'Hide Logs';
readonly 'ongoingTask.showLogsButtonTitle': 'Show Logs';
+2
View File
@@ -562,6 +562,8 @@ export class ScaffolderClient implements ScaffolderApi_2 {
tasks: ScaffolderTask_2[];
}>;
// (undocumented)
retry?(taskId: string): Promise<void>;
// (undocumented)
scaffold(
options: ScaffolderScaffoldOptions_2,
): Promise<ScaffolderScaffoldResponse_2>;
@@ -43,6 +43,7 @@ import { scaffolderTranslationRef } from '../../translation';
type ContextMenuProps = {
cancelEnabled?: boolean;
canRetry: boolean;
isRetryableTask: boolean;
logsVisible?: boolean;
buttonBarVisible?: boolean;
onRetry?: () => void;
@@ -62,6 +63,7 @@ export const ContextMenu = (props: ContextMenuProps) => {
const {
cancelEnabled,
canRetry,
isRetryableTask,
logsVisible,
buttonBarVisible,
onRetry,
@@ -156,16 +158,18 @@ export const ContextMenu = (props: ContextMenuProps) => {
</ListItemIcon>
<ListItemText primary={t('ongoingTask.contextMenu.startOver')} />
</MenuItem>
<MenuItem
onClick={onRetry}
disabled={cancelEnabled || !canRetry}
data-testid="retry-task"
>
<ListItemIcon>
<Replay fontSize="small" />
</ListItemIcon>
<ListItemText primary={t('ongoingTask.contextMenu.retry')} />
</MenuItem>
{isRetryableTask && (
<MenuItem
onClick={onRetry}
disabled={cancelEnabled || !canRetry}
data-testid="retry-task"
>
<ListItemIcon>
<Replay fontSize="small" />
</ListItemIcon>
<ListItemText primary={t('ongoingTask.contextMenu.retry')} />
</MenuItem>
)}
<MenuItem
onClick={cancel}
disabled={
@@ -207,6 +207,7 @@ export const OngoingTask = (props: {
<ContextMenu
cancelEnabled={cancelEnabled}
canRetry={canRetry}
isRetryableTask={isRetryableTask}
logsVisible={logsVisible}
buttonBarVisible={buttonBarVisible}
onStartOver={startOver}
@@ -255,14 +256,16 @@ export const OngoingTask = (props: {
>
{t('ongoingTask.cancelButtonTitle')}
</Button>
<Button
className={classes.retryButton}
disabled={cancelEnabled || !canRetry}
onClick={triggerRetry}
data-testid="retry-button"
>
{t('ongoingTask.retryButtonTitle')}
</Button>
{isRetryableTask && (
<Button
className={classes.retryButton}
disabled={cancelEnabled || !canRetry}
onClick={triggerRetry}
data-testid="retry-button"
>
{t('ongoingTask.retryButtonTitle')}
</Button>
)}
<Button
className={classes.logsVisibilityButton}
color="primary"