Merge pull request #27771 from solimant/23819_scaffolder_openapi

Move Scaffolder API to OpenAPI
This commit is contained in:
Ben Lambert
2025-07-29 14:36:47 +02:00
committed by GitHub
147 changed files with 7540 additions and 992 deletions
+70 -231
View File
@@ -3,6 +3,7 @@
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
import { Action as Action_2 } from '@backstage/plugin-scaffolder-common';
import { ApiHolder } from '@backstage/core-plugin-api';
import { ApiRef } from '@backstage/frontend-plugin-api';
import { ComponentType } from 'react';
@@ -23,9 +24,10 @@ import { IChangeEvent } from '@rjsf/core';
import { IdSchema } from '@rjsf/utils';
import { JsonObject } from '@backstage/types';
import { JSONSchema7 } from 'json-schema';
import { JsonValue } from '@backstage/types';
import { JSX as JSX_2 } from 'react/jsx-runtime';
import { Observable } from '@backstage/types';
import { ListActionsResponse as ListActionsResponse_2 } from '@backstage/plugin-scaffolder-common';
import { ListTemplatingExtensionsResponse as ListTemplatingExtensionsResponse_2 } from '@backstage/plugin-scaffolder-common';
import { LogEvent as LogEvent_2 } from '@backstage/plugin-scaffolder-common';
import { PropsWithChildren } from 'react';
import { ReactNode } from 'react';
import { Ref } from 'react';
@@ -33,27 +35,34 @@ import { Registry } from '@rjsf/utils';
import { RegistryWidgetsType } from '@rjsf/utils';
import { RJSFSchema } from '@rjsf/utils';
import { RJSFValidationError } from '@rjsf/utils';
import { ScaffolderApi as ScaffolderApi_2 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderDryRunOptions as ScaffolderDryRunOptions_2 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderDryRunResponse as ScaffolderDryRunResponse_2 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderGetIntegrationsListOptions as ScaffolderGetIntegrationsListOptions_2 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderGetIntegrationsListResponse as ScaffolderGetIntegrationsListResponse_2 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderOutputLink as ScaffolderOutputLink_2 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderOutputText as ScaffolderOutputText_2 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderScaffoldOptions as ScaffolderScaffoldOptions_2 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderScaffoldResponse as ScaffolderScaffoldResponse_2 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderStreamLogsOptions as ScaffolderStreamLogsOptions_2 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderTask as ScaffolderTask_2 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderTaskOutput as ScaffolderTaskOutput_2 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderTaskStatus as ScaffolderTaskStatus_2 } from '@backstage/plugin-scaffolder-common';
import { ScaffolderUsageExample as ScaffolderUsageExample_2 } from '@backstage/plugin-scaffolder-common';
import { StrictRJSFSchema } from '@rjsf/utils';
import { TaskSpec } from '@backstage/plugin-scaffolder-common';
import { TaskStep } from '@backstage/plugin-scaffolder-common';
import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';
import { TemplatePresentationV1beta3 } from '@backstage/plugin-scaffolder-common';
import { TemplateFilter as TemplateFilter_2 } from '@backstage/plugin-scaffolder-common';
import { TemplateGlobalFunction as TemplateGlobalFunction_2 } from '@backstage/plugin-scaffolder-common';
import { TemplateGlobalValue as TemplateGlobalValue_2 } from '@backstage/plugin-scaffolder-common';
import { TemplateParameterSchema as TemplateParameterSchema_2 } from '@backstage/plugin-scaffolder-common';
import { TemplatesType } from '@rjsf/utils';
import { UIOptionsType } from '@rjsf/utils';
import { UiSchema } from '@rjsf/utils';
import { ValidatorType } from '@rjsf/utils';
import { z } from 'zod';
// @public
export type Action = {
id: string;
description?: string;
schema?: {
input?: JSONSchema7;
output?: JSONSchema7;
};
examples?: ActionExample[];
};
// @public @deprecated
export type Action = Action_2;
// @public @deprecated
export type ActionExample = ScaffolderUsageExample;
@@ -162,30 +171,15 @@ export type LayoutTemplate<T = any> = NonNullable<
FormProps_2<T>['uiSchema']
>['ui:ObjectFieldTemplate'];
// @public
export type ListActionsResponse = Array<Action>;
// @public @deprecated
export type ListActionsResponse = ListActionsResponse_2;
// @public
export type ListTemplatingExtensionsResponse = {
filters: Record<string, TemplateFilter>;
globals: {
functions: Record<string, TemplateGlobalFunction>;
values: Record<string, TemplateGlobalValue>;
};
};
// @public @deprecated
export type ListTemplatingExtensionsResponse =
ListTemplatingExtensionsResponse_2;
// @public
export type LogEvent = {
type: 'log' | 'completion' | 'cancelled' | 'recovered';
body: {
message: string;
stepId?: string;
status?: ScaffolderTaskStatus;
};
createdAt: string;
id: string;
taskId: string;
};
// @public @deprecated
export type LogEvent = LogEvent_2;
// @public (undocumented)
export function makeFieldSchema<
@@ -210,125 +204,39 @@ export type ReviewStepProps = {
}[];
};
// @public
export interface ScaffolderApi {
// (undocumented)
autocomplete?(options: {
token: string;
provider: string;
resource: string;
context?: Record<string, string>;
}): Promise<{
results: {
title?: string;
id: string;
}[];
}>;
cancelTask(taskId: string): Promise<void>;
// (undocumented)
dryRun?(options: ScaffolderDryRunOptions): Promise<ScaffolderDryRunResponse>;
// (undocumented)
getIntegrationsList(
options: ScaffolderGetIntegrationsListOptions,
): Promise<ScaffolderGetIntegrationsListResponse>;
// (undocumented)
getTask(taskId: string): Promise<ScaffolderTask>;
// (undocumented)
getTemplateParameterSchema(
templateRef: string,
): Promise<TemplateParameterSchema>;
listActions(): Promise<ListActionsResponse>;
// (undocumented)
listTasks?(options: {
filterByOwnership: 'owned' | 'all';
limit?: number;
offset?: number;
}): Promise<{
tasks: ScaffolderTask[];
totalTasks?: number;
}>;
listTemplatingExtensions?(): Promise<ListTemplatingExtensionsResponse>;
retry?(taskId: string): Promise<void>;
scaffold(
options: ScaffolderScaffoldOptions,
): Promise<ScaffolderScaffoldResponse>;
// (undocumented)
streamLogs(options: ScaffolderStreamLogsOptions): Observable<LogEvent>;
}
// @public @deprecated
export type ScaffolderApi = ScaffolderApi_2;
// @public (undocumented)
export const scaffolderApiRef: ApiRef<ScaffolderApi>;
export const scaffolderApiRef: ApiRef<ScaffolderApi_2>;
// @public (undocumented)
export interface ScaffolderDryRunOptions {
// (undocumented)
directoryContents: {
path: string;
base64Content: string;
}[];
// (undocumented)
secrets?: Record<string, string>;
// (undocumented)
template: JsonValue;
// (undocumented)
values: JsonObject;
}
// @public @deprecated (undocumented)
export type ScaffolderDryRunOptions = ScaffolderDryRunOptions_2;
// @public (undocumented)
export interface ScaffolderDryRunResponse {
// (undocumented)
directoryContents: Array<{
path: string;
base64Content: string;
executable: boolean;
}>;
// (undocumented)
log: Array<Pick<LogEvent, 'body'>>;
// (undocumented)
output: ScaffolderTaskOutput;
// (undocumented)
steps: TaskStep[];
}
// @public @deprecated (undocumented)
export type ScaffolderDryRunResponse = ScaffolderDryRunResponse_2;
// @public
export const ScaffolderFieldExtensions: React.ComponentType<
React.PropsWithChildren<{}>
>;
// @public
export interface ScaffolderGetIntegrationsListOptions {
// (undocumented)
allowedHosts: string[];
}
// @public @deprecated
export type ScaffolderGetIntegrationsListOptions =
ScaffolderGetIntegrationsListOptions_2;
// @public
export interface ScaffolderGetIntegrationsListResponse {
// (undocumented)
integrations: {
type: string;
title: string;
host: string;
}[];
}
// @public @deprecated
export type ScaffolderGetIntegrationsListResponse =
ScaffolderGetIntegrationsListResponse_2;
// @public
export const ScaffolderLayouts: ComponentType<PropsWithChildren<{}>>;
// @public (undocumented)
export type ScaffolderOutputLink = {
title?: string;
icon?: string;
url?: string;
entityRef?: string;
};
// @public @deprecated (undocumented)
export type ScaffolderOutputLink = ScaffolderOutputLink_2;
// @public (undocumented)
export type ScaffolderOutputText = {
title?: string;
icon?: string;
content?: string;
default?: boolean;
};
// @public @deprecated (undocumented)
export type ScaffolderOutputText = ScaffolderOutputText_2;
// @public
export type ScaffolderRJSFField<
@@ -437,21 +345,11 @@ export type ScaffolderRJSFRegistryFieldsType<
[name: string]: ScaffolderRJSFField<T, S, F>;
};
// @public
export interface ScaffolderScaffoldOptions {
// (undocumented)
secrets?: Record<string, string>;
// (undocumented)
templateRef: string;
// (undocumented)
values: Record<string, JsonValue>;
}
// @public @deprecated
export type ScaffolderScaffoldOptions = ScaffolderScaffoldOptions_2;
// @public
export interface ScaffolderScaffoldResponse {
// (undocumented)
taskId: string;
}
// @public @deprecated
export type ScaffolderScaffoldResponse = ScaffolderScaffoldResponse_2;
// @public
export type ScaffolderStep = {
@@ -461,48 +359,20 @@ export type ScaffolderStep = {
startedAt?: string;
};
// @public
export interface ScaffolderStreamLogsOptions {
// (undocumented)
after?: number;
// (undocumented)
isTaskRecoverable?: boolean;
// (undocumented)
taskId: string;
}
// @public @deprecated
export type ScaffolderStreamLogsOptions = ScaffolderStreamLogsOptions_2;
// @public
export type ScaffolderTask = {
id: string;
spec: TaskSpec;
status: 'failed' | 'completed' | 'processing' | 'open' | 'cancelled';
lastHeartbeatAt: string;
createdAt: string;
};
// @public @deprecated
export type ScaffolderTask = ScaffolderTask_2;
// @public (undocumented)
export type ScaffolderTaskOutput = {
links?: ScaffolderOutputLink[];
text?: ScaffolderOutputText[];
} & {
[key: string]: unknown;
};
// @public @deprecated (undocumented)
export type ScaffolderTaskOutput = ScaffolderTaskOutput_2;
// @public
export type ScaffolderTaskStatus =
| 'cancelled'
| 'completed'
| 'failed'
| 'open'
| 'processing'
| 'skipped';
// @public @deprecated
export type ScaffolderTaskStatus = ScaffolderTaskStatus_2;
// @public
export type ScaffolderUsageExample = {
description?: string;
example: string;
notes?: string;
};
// @public @deprecated
export type ScaffolderUsageExample = ScaffolderUsageExample_2;
// @public
export interface ScaffolderUseTemplateSecrets {
@@ -535,32 +405,14 @@ export type TaskStream = {
output?: ScaffolderTaskOutput;
};
// @public
export type TemplateFilter = {
description?: string;
schema?: {
input?: JSONSchema7;
arguments?: JSONSchema7[];
output?: JSONSchema7;
};
examples?: ScaffolderUsageExample[];
};
// @public @deprecated
export type TemplateFilter = TemplateFilter_2;
// @public
export type TemplateGlobalFunction = {
description?: string;
schema?: {
arguments?: JSONSchema7[];
output?: JSONSchema7;
};
examples?: ScaffolderUsageExample[];
};
// @public @deprecated
export type TemplateGlobalFunction = TemplateGlobalFunction_2;
// @public
export type TemplateGlobalValue = {
description?: string;
value: JsonValue;
};
// @public @deprecated
export type TemplateGlobalValue = TemplateGlobalValue_2;
// @public (undocumented)
export type TemplateGroupFilter = {
@@ -568,21 +420,8 @@ export type TemplateGroupFilter = {
filter: (entity: TemplateEntityV1beta3) => boolean;
};
// @public
export type TemplateParameterSchema = {
title: string;
description?: string;
presentation?: TemplatePresentationV1beta3;
steps: Array<{
title: string;
description?: string;
schema: JsonObject;
}>;
EXPERIMENTAL_formDecorators?: {
id: string;
input?: JsonObject;
}[];
};
// @public @deprecated
export type TemplateParameterSchema = TemplateParameterSchema_2;
// @public
export const useCustomFieldExtensions: <
+85 -192
View File
@@ -13,47 +13,54 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { TaskSpec, TaskStep } from '@backstage/plugin-scaffolder-common';
import { JsonObject, JsonValue, Observable } from '@backstage/types';
import { JSONSchema7 } from 'json-schema';
import { TemplateParameterSchema } from '../types';
import {
type ScaffolderApi as _ScaffolderApi,
type ScaffolderDryRunOptions as _ScaffolderDryRunOptions,
type ScaffolderDryRunResponse as _ScaffolderDryRunResponse,
type ScaffolderGetIntegrationsListOptions as _ScaffolderGetIntegrationsListOptions,
type ScaffolderGetIntegrationsListResponse as _ScaffolderGetIntegrationsListResponse,
type ScaffolderScaffoldOptions as _ScaffolderScaffoldOptions,
type ScaffolderScaffoldResponse as _ScaffolderScaffoldResponse,
type ScaffolderStreamLogsOptions as _ScaffolderStreamLogsOptions,
type ScaffolderUsageExample as _ScaffolderUsageExample,
type Action as _Action,
type ListActionsResponse as _ListActionsResponse,
type ListTemplatingExtensionsResponse as _ListTemplatingExtensionsResponse,
type LogEvent as _LogEvent,
type ScaffolderOutputLink as _ScaffolderOutputLink,
type ScaffolderOutputText as _ScaffolderOutputText,
type ScaffolderTask as _ScaffolderTask,
type ScaffolderTaskOutput as _ScaffolderTaskOutput,
type ScaffolderTaskStatus as _ScaffolderTaskStatus,
type TemplateFilter as _TemplateFilter,
type TemplateGlobalFunction as _TemplateGlobalFunction,
type TemplateGlobalValue as _TemplateGlobalValue,
} from '@backstage/plugin-scaffolder-common';
/**
* The status of each task in a Scaffolder Job
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderTaskStatus} instead as this has now been moved.
*/
export type ScaffolderTaskStatus =
| 'cancelled'
| 'completed'
| 'failed'
| 'open'
| 'processing'
| 'skipped';
export type ScaffolderTaskStatus = _ScaffolderTaskStatus;
/**
* The shape of each task returned from the `scaffolder-backend`
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderTask} instead as this has now been moved.
*/
export type ScaffolderTask = {
id: string;
spec: TaskSpec;
status: 'failed' | 'completed' | 'processing' | 'open' | 'cancelled';
lastHeartbeatAt: string;
createdAt: string;
};
export type ScaffolderTask = _ScaffolderTask;
/**
* A single scaffolder usage example
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderUsageExample} instead as this has now been moved.
*/
export type ScaffolderUsageExample = {
description?: string;
example: string;
notes?: string;
};
export type ScaffolderUsageExample = _ScaffolderUsageExample;
/**
* A single action example
@@ -67,249 +74,135 @@ export type ActionExample = ScaffolderUsageExample;
* The response shape for a single action in the `listActions` call to the `scaffolder-backend`
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#Action} instead as this has now been moved.
*/
export type Action = {
id: string;
description?: string;
schema?: {
input?: JSONSchema7;
output?: JSONSchema7;
};
examples?: ActionExample[];
};
export type Action = _Action;
/**
* The response shape for the `listActions` call to the `scaffolder-backend`
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ListActionsResponse} instead as this has now been moved.
*/
export type ListActionsResponse = Array<Action>;
export type ListActionsResponse = _ListActionsResponse;
/**
* The response shape for a single filter in the `listTemplatingExtensions` call to the `scaffolder-backend`
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#TemplateFilter} instead as this has now been moved.
*/
export type TemplateFilter = {
description?: string;
schema?: {
input?: JSONSchema7;
arguments?: JSONSchema7[];
output?: JSONSchema7;
};
examples?: ScaffolderUsageExample[];
};
export type TemplateFilter = _TemplateFilter;
/**
* The response shape for a single global function in the `listTemplatingExtensions` call to the `scaffolder-backend`
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#TemplateGlobalFunction} instead as this has now been moved.
*/
export type TemplateGlobalFunction = {
description?: string;
schema?: {
arguments?: JSONSchema7[];
output?: JSONSchema7;
};
examples?: ScaffolderUsageExample[];
};
export type TemplateGlobalFunction = _TemplateGlobalFunction;
/**
* The response shape for a single global value in the `listTemplatingExtensions` call to the `scaffolder-backend`
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#TemplateGlobalValue} instead as this has now been moved.
*/
export type TemplateGlobalValue = {
description?: string;
value: JsonValue;
};
export type TemplateGlobalValue = _TemplateGlobalValue;
/**
* The response shape for the `listTemplatingExtensions` call to the `scaffolder-backend`
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ListTemplatingExtensionsResponse} instead as this has now been moved.
*/
export type ListTemplatingExtensionsResponse = {
filters: Record<string, TemplateFilter>;
globals: {
functions: Record<string, TemplateGlobalFunction>;
values: Record<string, TemplateGlobalValue>;
};
};
export type ListTemplatingExtensionsResponse =
_ListTemplatingExtensionsResponse;
/** @public */
export type ScaffolderOutputLink = {
title?: string;
icon?: string;
url?: string;
entityRef?: string;
};
/**
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderOutputLink} instead as this has now been moved.
*/
export type ScaffolderOutputLink = _ScaffolderOutputLink;
/** @public */
export type ScaffolderOutputText = {
title?: string;
icon?: string;
content?: string;
default?: boolean;
};
/**
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderOutputText} instead as this has now been moved.
*/
export type ScaffolderOutputText = _ScaffolderOutputText;
/** @public */
export type ScaffolderTaskOutput = {
links?: ScaffolderOutputLink[];
text?: ScaffolderOutputText[];
} & {
[key: string]: unknown;
};
/**
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderTaskOutput} instead as this has now been moved.
*/
export type ScaffolderTaskOutput = _ScaffolderTaskOutput;
/**
* The shape of a `LogEvent` message from the `scaffolder-backend`
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#LogEvent} instead as this has now been moved.
*/
export type LogEvent = {
type: 'log' | 'completion' | 'cancelled' | 'recovered';
body: {
message: string;
stepId?: string;
status?: ScaffolderTaskStatus;
};
createdAt: string;
id: string;
taskId: string;
};
export type LogEvent = _LogEvent;
/**
* The input options to the `scaffold` method of the `ScaffolderClient`.
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderScaffoldOptions} instead as this has now been moved.
*/
export interface ScaffolderScaffoldOptions {
templateRef: string;
values: Record<string, JsonValue>;
secrets?: Record<string, string>;
}
export type ScaffolderScaffoldOptions = _ScaffolderScaffoldOptions;
/**
* The response shape of the `scaffold` method of the `ScaffolderClient`.
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderScaffoldResponse} instead as this has now been moved.
*/
export interface ScaffolderScaffoldResponse {
taskId: string;
}
export type ScaffolderScaffoldResponse = _ScaffolderScaffoldResponse;
/**
* The arguments for `getIntegrationsList`.
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderGetIntegrationsListOptions} instead as this has now been moved.
*/
export interface ScaffolderGetIntegrationsListOptions {
allowedHosts: string[];
}
export type ScaffolderGetIntegrationsListOptions =
_ScaffolderGetIntegrationsListOptions;
/**
* The response shape for `getIntegrationsList`.
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderGetIntegrationsListResponse} instead as this has now been moved.
*/
export interface ScaffolderGetIntegrationsListResponse {
integrations: { type: string; title: string; host: string }[];
}
export type ScaffolderGetIntegrationsListResponse =
_ScaffolderGetIntegrationsListResponse;
/**
* The input options to the `streamLogs` method of the `ScaffolderClient`.
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderStreamLogsOptions} instead as this has now been moved.
*/
export interface ScaffolderStreamLogsOptions {
isTaskRecoverable?: boolean;
taskId: string;
after?: number;
}
export type ScaffolderStreamLogsOptions = _ScaffolderStreamLogsOptions;
/** @public */
export interface ScaffolderDryRunOptions {
template: JsonValue;
values: JsonObject;
secrets?: Record<string, string>;
directoryContents: { path: string; base64Content: string }[];
}
/**
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderDryRunOptions} instead as this has now been moved.
*/
export type ScaffolderDryRunOptions = _ScaffolderDryRunOptions;
/**
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderDryRunResponse} instead as this has now been moved.
*/
export type ScaffolderDryRunResponse = _ScaffolderDryRunResponse;
/** @public */
export interface ScaffolderDryRunResponse {
directoryContents: Array<{
path: string;
base64Content: string;
executable: boolean;
}>;
log: Array<Pick<LogEvent, 'body'>>;
steps: TaskStep[];
output: ScaffolderTaskOutput;
}
/**
* An API to interact with the scaffolder backend.
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderApi} instead as this has now been moved.
*/
export interface ScaffolderApi {
getTemplateParameterSchema(
templateRef: string,
): Promise<TemplateParameterSchema>;
/**
* Executes the scaffolding of a component, given a template and its
* parameter values.
*
* @param options - The {@link ScaffolderScaffoldOptions} the scaffolding.
*/
scaffold(
options: ScaffolderScaffoldOptions,
): Promise<ScaffolderScaffoldResponse>;
getTask(taskId: string): Promise<ScaffolderTask>;
/**
* Sends a signal to a task broker to cancel the running task by taskId.
*
* @param taskId - the id of the task
*/
cancelTask(taskId: string): Promise<void>;
/**
* Starts the task again from the point where it failed.
*
* @param taskId - the id of the task
*/
retry?(taskId: string): Promise<void>;
listTasks?(options: {
filterByOwnership: 'owned' | 'all';
limit?: number;
offset?: number;
}): Promise<{ tasks: ScaffolderTask[]; totalTasks?: number }>;
getIntegrationsList(
options: ScaffolderGetIntegrationsListOptions,
): Promise<ScaffolderGetIntegrationsListResponse>;
/**
* Returns a list of all installed actions.
*/
listActions(): Promise<ListActionsResponse>;
/**
* Returns a structure describing the available templating extensions.
*/
listTemplatingExtensions?(): Promise<ListTemplatingExtensionsResponse>;
streamLogs(options: ScaffolderStreamLogsOptions): Observable<LogEvent>;
dryRun?(options: ScaffolderDryRunOptions): Promise<ScaffolderDryRunResponse>;
autocomplete?(options: {
token: string;
provider: string;
resource: string;
context?: Record<string, string>;
}): Promise<{ results: { title?: string; id: string }[] }>;
}
export type ScaffolderApi = _ScaffolderApi;
+3 -14
View File
@@ -14,24 +14,13 @@
* limitations under the License.
*/
import { JsonObject } from '@backstage/types';
import { TemplatePresentationV1beta3 } from '@backstage/plugin-scaffolder-common';
import { TemplateParameterSchema as _TemplateParameterSchema } from '@backstage/plugin-scaffolder-common';
/**
* The shape of each entry of parameters which gets rendered
* as a separate step in the wizard input
*
* @public
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#TemplateParameterSchema} instead as this has now been moved.
*/
export type TemplateParameterSchema = {
title: string;
description?: string;
presentation?: TemplatePresentationV1beta3;
steps: Array<{
title: string;
description?: string;
schema: JsonObject;
}>;
EXPERIMENTAL_formDecorators?: { id: string; input?: JsonObject }[];
};
export type TemplateParameterSchema = _TemplateParameterSchema;