chore: move to templateInfo in other modules
Signed-off-by: blam <ben@blam.sh>
This commit is contained in:
+5
-2
@@ -89,7 +89,10 @@ describe('fetch:cookiecutter', () => {
|
||||
help: 'me',
|
||||
},
|
||||
},
|
||||
baseUrl: 'somebase',
|
||||
templateInfo: {
|
||||
name: 'lols',
|
||||
baseUrl: 'somebase',
|
||||
},
|
||||
workspacePath: mockTmpDir,
|
||||
logger: getVoidLogger(),
|
||||
logStream: new PassThrough(),
|
||||
@@ -149,7 +152,7 @@ describe('fetch:cookiecutter', () => {
|
||||
expect.objectContaining({
|
||||
reader: mockReader,
|
||||
integrations,
|
||||
baseUrl: mockContext.baseUrl,
|
||||
baseUrl: mockContext.templateInfo?.baseUrl,
|
||||
fetchUrl: mockContext.input.url,
|
||||
outputPath: join(
|
||||
mockTmpDir,
|
||||
|
||||
@@ -222,7 +222,7 @@ export function createFetchCookiecutterAction(options: {
|
||||
await fetchContents({
|
||||
reader,
|
||||
integrations,
|
||||
baseUrl: ctx.baseUrl,
|
||||
baseUrl: ctx.templateInfo?.baseUrl,
|
||||
fetchUrl: ctx.input.url,
|
||||
outputPath: templateContentsDir,
|
||||
});
|
||||
|
||||
@@ -170,7 +170,7 @@ export function createFetchRailsAction(options: {
|
||||
await fetchContents({
|
||||
reader,
|
||||
integrations,
|
||||
baseUrl: ctx.baseUrl,
|
||||
baseUrl: ctx.templateInfo?.baseUrl,
|
||||
fetchUrl: ctx.input.url,
|
||||
outputPath: workDir,
|
||||
});
|
||||
|
||||
@@ -28,6 +28,8 @@ import { ScmIntegrations } from '@backstage/integration';
|
||||
import {
|
||||
TemplateEntityV1beta2,
|
||||
TemplateEntityV1beta3,
|
||||
TaskSpecV1beta3,
|
||||
TaskSpecV1beta2,
|
||||
} from '@backstage/plugin-scaffolder-common';
|
||||
import express from 'express';
|
||||
import Router from 'express-promise-router';
|
||||
@@ -219,32 +221,36 @@ export async function createRouter(
|
||||
|
||||
const baseUrl = getEntityBaseUrl(template);
|
||||
|
||||
const baseTaskSpec = {
|
||||
baseUrl,
|
||||
steps: template.spec.steps.map((step, index) => ({
|
||||
...step,
|
||||
id: step.id ?? `step-${index + 1}`,
|
||||
name: step.name ?? step.action,
|
||||
})),
|
||||
output: template.spec.output ?? {},
|
||||
|
||||
// deprecated in favour of templateInfo
|
||||
metadata: { name: template.metadata?.name },
|
||||
|
||||
templateInfo: {
|
||||
name: template.metadata?.name,
|
||||
baseUrl,
|
||||
},
|
||||
};
|
||||
|
||||
taskSpec =
|
||||
template.apiVersion === 'backstage.io/v1beta2'
|
||||
? {
|
||||
? ({
|
||||
...baseTaskSpec,
|
||||
apiVersion: template.apiVersion,
|
||||
baseUrl,
|
||||
values,
|
||||
steps: template.spec.steps.map((step, index) => ({
|
||||
...step,
|
||||
id: step.id ?? `step-${index + 1}`,
|
||||
name: step.name ?? step.action,
|
||||
})),
|
||||
output: template.spec.output ?? {},
|
||||
metadata: { name: template.metadata?.name },
|
||||
}
|
||||
: {
|
||||
} as TaskSpecV1beta2)
|
||||
: ({
|
||||
...baseTaskSpec,
|
||||
apiVersion: template.apiVersion,
|
||||
baseUrl,
|
||||
parameters: values,
|
||||
steps: template.spec.steps.map((step, index) => ({
|
||||
...step,
|
||||
id: step.id ?? `step-${index + 1}`,
|
||||
name: step.name ?? step.action,
|
||||
})),
|
||||
output: template.spec.output ?? {},
|
||||
metadata: { name: template.metadata?.name },
|
||||
};
|
||||
} as TaskSpecV1beta3);
|
||||
} else {
|
||||
throw new InputError(
|
||||
`Unsupported apiVersion field in schema entity, ${
|
||||
@@ -256,8 +262,6 @@ export async function createRouter(
|
||||
const result = await taskBroker.dispatch(taskSpec, {
|
||||
...req.body.secrets,
|
||||
backstageToken: token,
|
||||
// This is deprecated, but we need to support it for now if people are running their own task broker.
|
||||
token: token,
|
||||
});
|
||||
|
||||
res.status(201).json({ id: result.taskId });
|
||||
|
||||
@@ -60,11 +60,15 @@ export interface TaskStep {
|
||||
*/
|
||||
export interface TaskSpecV1beta2 {
|
||||
apiVersion: 'backstage.io/v1beta2';
|
||||
/** @deprecated use templateInfo.baseUrl instead */
|
||||
baseUrl?: string;
|
||||
values: JsonObject;
|
||||
steps: TaskStep[];
|
||||
output: { [name: string]: string };
|
||||
/** @deprecated use templateInfo instead */
|
||||
metadata?: TemplateMetadata;
|
||||
|
||||
templateInfo?: TemplateInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -291,7 +291,7 @@ export const TaskPage = ({ loadingText }: TaskPageProps) => {
|
||||
const { output } = taskStream;
|
||||
|
||||
const handleStartOver = () => {
|
||||
if (!taskStream.task || !taskStream.task?.spec.metadata?.name) {
|
||||
if (!taskStream.task || !taskStream.task?.spec.templateInfo?.name) {
|
||||
navigate(generatePath(rootLink()));
|
||||
}
|
||||
|
||||
@@ -306,7 +306,7 @@ export const TaskPage = ({ loadingText }: TaskPageProps) => {
|
||||
formData: JSON.stringify(formData),
|
||||
})}`,
|
||||
{
|
||||
templateName: taskStream.task!.spec.metadata!.name,
|
||||
templateName: taskStream.task!.spec.templateInfo!.name,
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user