diff --git a/plugins/tech-insights/api-report.md b/plugins/tech-insights/api-report.md index 279545091c..1849508f63 100644 --- a/plugins/tech-insights/api-report.md +++ b/plugins/tech-insights/api-report.md @@ -12,13 +12,40 @@ import { EntityName } from '@backstage/catalog-model'; import { default as React_2 } from 'react'; import { RouteRef } from '@backstage/core-plugin-api'; +// @public +export type Check = { + id: string; + type: string; + name: string; + description: string; + factIds: string[]; +}; + +// @public +export type CheckResultRenderer = { + type: string; + title: string; + description: string; + component: React_2.ReactElement; +}; + // @public (undocumented) export const EntityTechInsightsScorecardContent: () => JSX.Element; -// Warning: (ae-forgotten-export) The symbol "TechInsightsApi" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "techInsightsApiRef" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) +// @public +export interface TechInsightsApi { + // (undocumented) + getAllChecks(): Promise; + // (undocumented) + getScorecardsDefinition: ( + type: string, + value: CheckResult[], + ) => CheckResultRenderer | undefined; + // (undocumented) + runChecks(entityParams: EntityName, checks?: Check[]): Promise; +} + +// @public export const techInsightsApiRef: ApiRef; // @public (undocumented) diff --git a/plugins/tech-insights/src/api/TechInsightsApi.ts b/plugins/tech-insights/src/api/TechInsightsApi.ts index d3ff9ac2ff..6c5f272e7f 100644 --- a/plugins/tech-insights/src/api/TechInsightsApi.ts +++ b/plugins/tech-insights/src/api/TechInsightsApi.ts @@ -20,10 +20,20 @@ import { Check } from './types'; import { CheckResultRenderer } from '../components/CheckResultRenderer'; import { EntityName } from '@backstage/catalog-model'; +/** + * {@link @backstage/core-plugin-api#ApiRef} for the {@link TechInsightsApi} + * + * @public + */ export const techInsightsApiRef = createApiRef({ id: 'plugin.techinsights.service', }); +/** + * API client interface for the Tech Insights plugin + * + * @public + */ export interface TechInsightsApi { getScorecardsDefinition: ( type: string, diff --git a/plugins/tech-insights/src/api/types.ts b/plugins/tech-insights/src/api/types.ts index 20071ba0c9..10dfa06420 100644 --- a/plugins/tech-insights/src/api/types.ts +++ b/plugins/tech-insights/src/api/types.ts @@ -13,6 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +/** + * Represents a single check defined on the TechInsights backend. + * + * @public + */ export type Check = { id: string; type: string; diff --git a/plugins/tech-insights/src/components/CheckResultRenderer.tsx b/plugins/tech-insights/src/components/CheckResultRenderer.tsx index 60e0fad9c5..d57d547384 100644 --- a/plugins/tech-insights/src/components/CheckResultRenderer.tsx +++ b/plugins/tech-insights/src/components/CheckResultRenderer.tsx @@ -18,6 +18,11 @@ import { CheckResult } from '@backstage/plugin-tech-insights-common'; import React from 'react'; import { BooleanCheck } from './BooleanCheck'; +/** + * Defines a react component that is responsible for rendering a results of a given type. + * + * @public + */ export type CheckResultRenderer = { type: string; title: string; diff --git a/plugins/tech-insights/src/index.ts b/plugins/tech-insights/src/index.ts index a6a4bee3e3..b59ac453ce 100644 --- a/plugins/tech-insights/src/index.ts +++ b/plugins/tech-insights/src/index.ts @@ -19,3 +19,6 @@ export { } from './plugin'; export { techInsightsApiRef } from './api/TechInsightsApi'; +export type { TechInsightsApi } from './api/TechInsightsApi'; +export type { Check } from './api/types'; +export type { CheckResultRenderer } from './components/CheckResultRenderer';