diff --git a/.changeset/shaggy-chicken-behave.md b/.changeset/shaggy-chicken-behave.md new file mode 100644 index 0000000000..41445b0930 --- /dev/null +++ b/.changeset/shaggy-chicken-behave.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-scaffolder-backend': minor +'@backstage/plugin-scaffolder-common': minor +--- + +add entity metadata to the template info type diff --git a/plugins/scaffolder-backend/src/service/router.test.ts b/plugins/scaffolder-backend/src/service/router.test.ts index e59f222e2d..a062272103 100644 --- a/plugins/scaffolder-backend/src/service/router.test.ts +++ b/plugins/scaffolder-backend/src/service/router.test.ts @@ -261,6 +261,9 @@ describe('createRouter', () => { name: mockTemplate.metadata?.name, }), baseUrl: 'https://dev.azure.com', + entity: { + metadata: mockTemplate.metadata, + }, }, }, }), @@ -312,6 +315,9 @@ describe('createRouter', () => { name: mockTemplate.metadata?.name, }), baseUrl: 'https://dev.azure.com', + entity: { + metadata: mockTemplate.metadata, + }, }, }, }), diff --git a/plugins/scaffolder-backend/src/service/router.ts b/plugins/scaffolder-backend/src/service/router.ts index 1c6ea39443..3dddd85c26 100644 --- a/plugins/scaffolder-backend/src/service/router.ts +++ b/plugins/scaffolder-backend/src/service/router.ts @@ -249,6 +249,9 @@ export async function createRouter( name: template.metadata?.name, }), baseUrl, + entity: { + metadata: template.metadata, + }, }, }; diff --git a/plugins/scaffolder-common/api-report.md b/plugins/scaffolder-common/api-report.md index a1c5c2bf23..8864c0d76d 100644 --- a/plugins/scaffolder-common/api-report.md +++ b/plugins/scaffolder-common/api-report.md @@ -4,10 +4,11 @@ ```ts import { Entity } from '@backstage/catalog-model'; +import type { EntityMeta } from '@backstage/catalog-model'; import { JsonObject } from '@backstage/types'; -import { JsonValue } from '@backstage/types'; +import type { JsonValue } from '@backstage/types'; import { KindValidator } from '@backstage/catalog-model'; -import { UserEntity } from '@backstage/catalog-model'; +import type { UserEntity } from '@backstage/catalog-model'; // @public export type TaskSpec = TaskSpecV1beta3; @@ -64,5 +65,8 @@ export const templateEntityV1beta3Validator: KindValidator; export type TemplateInfo = { entityRef: string; baseUrl?: string; + entity?: { + metadata: EntityMeta; + }; }; ``` diff --git a/plugins/scaffolder-common/src/TaskSpec.ts b/plugins/scaffolder-common/src/TaskSpec.ts index 4ba43092ae..1c71790736 100644 --- a/plugins/scaffolder-common/src/TaskSpec.ts +++ b/plugins/scaffolder-common/src/TaskSpec.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { UserEntity } from '@backstage/catalog-model'; -import { JsonValue, JsonObject } from '@backstage/types'; +import type { EntityMeta, UserEntity } from '@backstage/catalog-model'; +import type { JsonValue, JsonObject } from '@backstage/types'; /** * Information about a template that is stored on a task specification. @@ -32,6 +32,16 @@ export type TemplateInfo = { * Where the template is stored, so we can resolve relative paths for things like `fetch:template` paths. */ baseUrl?: string; + + /** + * the Template entity + */ + entity?: { + /** + * The metadata of the Template + */ + metadata: EntityMeta; + }; }; /**