diff --git a/.changeset/rich-steaks-juggle.md b/.changeset/rich-steaks-juggle.md new file mode 100644 index 0000000000..5879f2dace --- /dev/null +++ b/.changeset/rich-steaks-juggle.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-tech-insights-node': patch +'@backstage/plugin-tech-insights-backend': patch +--- + +The `FactRetriever` model has been extended by adding optional title and description fields, allowing you to display them in the UI. diff --git a/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.test.ts b/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.test.ts index 44ffa6587f..131635a1de 100644 --- a/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.test.ts +++ b/plugins/tech-insights-backend/src/service/fact/FactRetrieverEngine.test.ts @@ -36,6 +36,8 @@ jest.useFakeTimers(); const testFactRetriever: FactRetriever = { id: 'test_factretriever', version: '0.0.1', + title: 'Test 1', + description: 'testing', entityFilter: [{ kind: 'component' }], schema: { testnumberfact: { diff --git a/plugins/tech-insights-backend/src/service/fact/factRetrievers/entityMetadataFactRetriever.ts b/plugins/tech-insights-backend/src/service/fact/factRetrievers/entityMetadataFactRetriever.ts index caa19dbeaf..3103f9bdd5 100644 --- a/plugins/tech-insights-backend/src/service/fact/factRetrievers/entityMetadataFactRetriever.ts +++ b/plugins/tech-insights-backend/src/service/fact/factRetrievers/entityMetadataFactRetriever.ts @@ -30,6 +30,9 @@ import isEmpty from 'lodash/isEmpty'; export const entityMetadataFactRetriever: FactRetriever = { id: 'entityMetadataFactRetriever', version: '0.0.1', + title: 'Entity Metadata', + description: + 'Generates facts which indicate the completeness of entity metadata', schema: { hasTitle: { type: 'boolean', diff --git a/plugins/tech-insights-backend/src/service/fact/factRetrievers/entityOwnershipFactRetriever.ts b/plugins/tech-insights-backend/src/service/fact/factRetrievers/entityOwnershipFactRetriever.ts index c1e9b2710e..974f1d30cd 100644 --- a/plugins/tech-insights-backend/src/service/fact/factRetrievers/entityOwnershipFactRetriever.ts +++ b/plugins/tech-insights-backend/src/service/fact/factRetrievers/entityOwnershipFactRetriever.ts @@ -29,6 +29,9 @@ import { Entity } from '@backstage/catalog-model'; export const entityOwnershipFactRetriever: FactRetriever = { id: 'entityOwnershipFactRetriever', version: '0.0.1', + title: 'Entity Ownership', + description: + 'Generates facts which indicate the quality of data in the spec.owner field', entityFilter: [ { kind: ['component', 'domain', 'system', 'api', 'resource', 'template'] }, ], diff --git a/plugins/tech-insights-backend/src/service/fact/factRetrievers/techdocsFactRetriever.ts b/plugins/tech-insights-backend/src/service/fact/factRetrievers/techdocsFactRetriever.ts index 6bc84f4aa9..dc14298a55 100644 --- a/plugins/tech-insights-backend/src/service/fact/factRetrievers/techdocsFactRetriever.ts +++ b/plugins/tech-insights-backend/src/service/fact/factRetrievers/techdocsFactRetriever.ts @@ -34,6 +34,9 @@ const techdocsAnnotationFactName = export const techdocsFactRetriever: FactRetriever = { id: 'techdocsFactRetriever', version: '0.0.1', + title: 'Tech Docs', + description: + 'Generates facts related to the completeness of techdocs configuration for entities', schema: { [techdocsAnnotationFactName]: { type: 'boolean', diff --git a/plugins/tech-insights-node/api-report.md b/plugins/tech-insights-node/api-report.md index 09d409fecd..84677bdcbc 100644 --- a/plugins/tech-insights-node/api-report.md +++ b/plugins/tech-insights-node/api-report.md @@ -46,12 +46,14 @@ export type FactLifecycle = TTL | MaxItems; // @public export interface FactRetriever { + description?: string; entityFilter?: | Record[] | Record; handler: (ctx: FactRetrieverContext) => Promise; id: string; schema: FactSchema; + title?: string; version: string; } diff --git a/plugins/tech-insights-node/src/facts.ts b/plugins/tech-insights-node/src/facts.ts index bcc2aa42e1..cda238694f 100644 --- a/plugins/tech-insights-node/src/facts.ts +++ b/plugins/tech-insights-node/src/facts.ts @@ -174,6 +174,16 @@ export interface FactRetriever { */ version: string; + /** + * A short display title for the fact retriever to be used in the interface + */ + title?: string; + + /** + * A short display description for the fact retriever to be used in the interface. + */ + description?: string; + /** * Handler function that needs to be implemented to retrieve fact values for entities. *