Allure Reports turns raw test results into an interactive web report. It works with popular test frameworks and CI tools. The report shows runs, history, flaky tests, attachments, and trends. Teams use it to see test health at a glance and to debug failures faster.
The Allure plugin for Backstage brings those reports into your service catalog. It adds a tab on each service page that loads the latest report from your Allure server. The plugin maps a Backstage service to an Allure project, then renders the report inside Backstage. This keeps test insights close to code ownership and docs.
Common uses include triaging failed pipelines, reviewing pre release test runs, tracking quality trends for a service, and giving engineers and QA a shared view without switching tools. You keep control of data on your own Allure host, while Backstage becomes the place to browse results across services. The plugin lives in the Backstage community plugins repo and continues to ship updates.
Installation Instructions
These instructions apply to self-hosted Backstage only. To use this plugin on Roadie, visit the docs.
- Install the frontend package into your Backstage app
yarn --cwd packages/app add @backstage-community/plugin-allure
- Set the Allure service URL in your app config
# app-config.yaml
allure:
baseUrl: https://allure.my-company.net
# when running allure locally
# baseUrl: http://localhost:5050/allure-docker-service
- Add the Allure tab to the service entity page
Open packages/app/src/components/catalog/EntityPage.tsx. Import the component. Then add a new route inside the service page layout.
// packages/app/src/components/catalog/EntityPage.tsx
import React from 'react';
import { EntityLayout } from '@backstage/plugin-catalog';
import { EntityLayoutWrapper } from './EntityLayoutWrapper';
import { EntitySwitch, isKind } from '@backstage/plugin-catalog';
import { EntityAllureReportContent } from '@backstage-community/plugin-allure';
const serviceEntityPage = (
<EntityLayoutWrapper>
<EntitySwitch>
<EntitySwitch.Case if={isKind('service')}>
<EntityLayout>
{/* other routes */}
<EntityLayout.Route path="/allure" title="Allure Report">
<EntityAllureReportContent />
</EntityLayout.Route>
</EntityLayout>
</EntitySwitch.Case>
</EntitySwitch>
</EntityLayoutWrapper>
);
export default serviceEntityPage;
- Hide the tab when a service has no Allure project
This step is optional. Use the helper to show the tab only when the entity has the required annotation.
// packages/app/src/components/catalog/EntityPage.tsx
import React from 'react';
import { EntityLayout } from '@backstage/plugin-catalog';
import { EntityLayoutWrapper } from './EntityLayoutWrapper';
import { EntitySwitch, isKind, EntitySwitchCase } from '@backstage/plugin-catalog';
import {
EntityAllureReportContent,
isAllureReportAvailable,
} from '@backstage-community/plugin-allure';
const serviceEntityPage = (
<EntityLayoutWrapper>
<EntitySwitch>
<EntitySwitch.Case if={isKind('service')}>
<EntityLayout>
{/* other routes */}
<EntitySwitchCase if={isAllureReportAvailable}>
<EntityLayout.Route path="/allure" title="Allure Report">
<EntityAllureReportContent />
</EntityLayout.Route>
</EntitySwitchCase>
</EntityLayout>
</EntitySwitch.Case>
</EntitySwitch>
</EntityLayoutWrapper>
);
export default serviceEntityPage;
- Annotate your services with the Allure project id
Add this annotation to each catalog entity that has a report.
# catalog-info.yaml for a service
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: my-service
annotations:
qameta.io/allure-project: my-allure-project-id
spec:
type: service
owner: team-a
lifecycle: production
- Backend steps
This plugin has no backend part. You do not need to install anything in packages backend. This works with the old backend system and the new backend system.
Changelog
This changelog is produced from commits made to the Allure Reports plugin since a year ago, and based on the code located here. It may not contain information about all commits. Releases and version bumps are intentionally omitted. This changelog is generated by AI.
Set up Backstage in minutes with Roadie
Focus on using Backstage, rather than building and maintaining it.