This is an extension module to the cicd-statistics
plugin providing a CicdStatisticsApiBuildkite
for use extracting CI/CD statistics from Buildkite pipelines.
-
Install the
cicd-statistics
andcicd-statistics-module-buildkite
plugins in theapp
package. -
Configure your ApiFactory (Note that
CicdStatisticsApiBuildkite
accepts a CicdStatisticsApiBuildkiteOpts):
// packages/app/src/apis.ts
import {
createApiFactory,
discoveryApiRef,
fetchApiRef,
} from '@backstage/core-plugin-api';
import { cicdStatisticsApiRef } from '@backstage-community/plugin-cicd-statistics';
import { CicdStatisticsApiBuildkite } from '@backstage-community/plugin-cicd-statistics-module-buildkite';
export const apis: AnyApiFactory[] = [
createApiFactory({
api: cicdStatisticsApiRef,
deps: {
discoveryApi: discoveryApiRef,
fetchApiApi: fetchApiRef,
},
factory({ discoveryApi, fetchApi }) {
return new CicdStatisticsApiBuildkite({ discoveryApi, fetchApi });
},
}),
];
- Add the component to your EntityPage:
// packages/app/src/components/catalog/EntityPage.tsx
import { EntityCicdStatisticsContent } from '@backstage-community/plugin-cicd-statistics';
<EntityLayout.Route path="/cicd-statistics" title="CI/CD Statistics">
<EntityCicdStatisticsContent />
</EntityLayout.Route>;
- Configure entities to feature a
buildkite.com/pipeline-name
annotation:
annotations:
buildkite.com/pipeline: 'org-name/some-pipeline'