Skip to content

Commit 911d6ce

Browse files
docs: Add Backstage plugin integration documentation (#6755)
1 parent a90625a commit 911d6ce

7 files changed

Lines changed: 207 additions & 41 deletions

File tree

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
title: Backstage
3+
description: 'Integrate Flagsmith feature flags into your Backstage developer portal'
4+
---
5+
6+
The [Flagsmith Backstage Plugin](https://github.com/Flagsmith/flagsmith-backstage-plugin) brings feature flag
7+
observability directly into your [Backstage](https://backstage.io/) developer portal. It provides three components:
8+
9+
- **Feature Flags Tab** — A full-page table listing all flags, their tags, and environment states.
10+
- **Overview Card** — A quick summary of your feature flags for entity overview pages.
11+
- **Usage Card** — A chart showing flag usage metrics over time.
12+
13+
![A canvas displaying all components of the Flagsmith Backstage plugin](/img/integrations/backstage/components-overview.png)
14+
15+
## Integrate with Backstage
16+
17+
### 1. Install the plugin
18+
19+
Install the plugin from your Backstage app root:
20+
21+
```bash
22+
yarn --cwd packages/app add @flagsmith/backstage-plugin
23+
```
24+
25+
### 2. Configure the proxy
26+
27+
Add the Flagsmith proxy configuration to your `app-config.yaml`:
28+
29+
```yaml
30+
proxy:
31+
endpoints:
32+
'/flagsmith':
33+
target: 'https://api.flagsmith.com/api/v1'
34+
headers:
35+
Authorization: Api-Key FLAGSMITH_API_TOKEN
36+
```
37+
38+
- `FLAGSMITH_API_TOKEN`: obtain from Organisation Settings > API Keys in Flagsmith.
39+
- If you are self-hosting Flagsmith, replace the `target` URL with your own Flagsmith API address, e.g.
40+
`https://flagsmith.example.com/api/v1`.
41+
42+
:::note
43+
44+
**Enterprise users:** when generating the Organisation API key, select permissions **View Project** and **View
45+
Environment**, so that Backstage can see your _Environments_ and _Features_ in Flagsmith.
46+
47+
:::
48+
49+
### 3. Set up entity annotation
50+
51+
Annotate your entities in `catalog-info.yaml` so the plugin knows which Flagsmith project to display:
52+
53+
```yaml
54+
apiVersion: backstage.io/v1alpha1
55+
kind: Component
56+
metadata:
57+
name: my-service
58+
annotations:
59+
flagsmith.com/project-id: 'PROJECT_ID'
60+
spec:
61+
type: service
62+
owner: my-team
63+
lifecycle: production
64+
```
65+
66+
- `PROJECT_ID`: obtain from the Flagsmith dashboard URL, e.g. `/project/<id>/...`.
67+
68+
## Add Components to Backstage
69+
70+
Edit your `packages/app/src/components/catalog/EntityPage.tsx` to add the Flagsmith components.
71+
72+
### Feature Flags Tab
73+
74+
Import and add the `FlagsTab` as a new tab on your entity page:
75+
76+
```tsx
77+
import { FlagsTab } from '@flagsmith/backstage-plugin';
78+
79+
// Inside your entity page layout, add a new tab:
80+
<EntityLayout.Route path="/feature-flags" title="Feature Flags">
81+
<FlagsTab />
82+
</EntityLayout.Route>;
83+
```
84+
85+
![A list of feature flags from Flagsmith along with their tags, and states per environment, displayed in Backstage](/img/integrations/backstage/flags-tab.png)
86+
87+
Click a feature in the list to reveal its usage graphs and detailed information:
88+
89+
![The expanded Flagsmith feature, showing the details and usage metrics](/img/integrations/backstage/flag-details-expanded.png)
90+
91+
### Overview Card
92+
93+
Add the `FlagsmithOverviewCard` to your entity overview page:
94+
95+
```tsx
96+
import { FlagsmithOverviewCard } from '@flagsmith/backstage-plugin';
97+
98+
// Inside your overview grid:
99+
<Grid item md={6}>
100+
<FlagsmithOverviewCard />
101+
</Grid>;
102+
```
103+
104+
![A compact list of features displaying their states per environment](/img/integrations/backstage/overview-card.png)
105+
106+
### Usage Card
107+
108+
Add the `FlagsmithUsageCard` to display flag usage metrics:
109+
110+
```tsx
111+
import { FlagsmithUsageCard } from '@flagsmith/backstage-plugin';
112+
113+
// Inside your overview grid:
114+
<Grid item md={6}>
115+
<FlagsmithUsageCard />
116+
</Grid>;
117+
```
118+
119+
![A bar chart displaying the usage metrics for the past 30 days](/img/integrations/backstage/usage-card.png)

docs/docs/third-party-integrations/index.mdx

Lines changed: 88 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ description: Connect Flagsmith with analytics, observability, project management
66
import Card from '../../src/components/Card';
77
import Link from '@docusaurus/Link';
88

9-
Integrate Flagsmith with popular third-party tools to enhance your feature flag workflow with analytics tracking, monitoring, project management, and CI/CD automation across your entire stack.
9+
Integrate Flagsmith with popular third-party tools to enhance your feature flag workflow with analytics tracking,
10+
monitoring, project management, and CI/CD automation across your entire stack.
1011

1112
## Analytics & Data Platforms {#analytics--data-platforms}
1213

@@ -15,33 +16,45 @@ Connect your feature flag data with analytics platforms to track feature usage a
1516
<div style={{display: 'grid', gap: '24px', gridTemplateColumns: 'repeat(auto-fit, minmax(300px, 1fr))', margin: '1rem 0'}}>
1617

1718
<Card>
18-
<h3><Link to="/third-party-integrations/analytics/amplitude">Amplitude Integration</Link></h3>
19-
<p>Analytics and product insight platform</p>
19+
<h3>
20+
<Link to="/third-party-integrations/analytics/amplitude">Amplitude Integration</Link>
21+
</h3>
22+
<p>Analytics and product insight platform</p>
2023
</Card>
2124

2225
<Card>
23-
<h3><Link to="/third-party-integrations/analytics/mixpanel">Mixpanel Analytics Integration</Link></h3>
24-
<p>User behaviour analytics and tracking</p>
26+
<h3>
27+
<Link to="/third-party-integrations/analytics/mixpanel">Mixpanel Analytics Integration</Link>
28+
</h3>
29+
<p>User behaviour analytics and tracking</p>
2530
</Card>
2631

2732
<Card>
28-
<h3><Link to="/third-party-integrations/analytics/segment">Segment Integration</Link></h3>
29-
<p>Customer data platform for seamless data flow</p>
33+
<h3>
34+
<Link to="/third-party-integrations/analytics/segment">Segment Integration</Link>
35+
</h3>
36+
<p>Customer data platform for seamless data flow</p>
3037
</Card>
3138

3239
<Card>
33-
<h3><Link to="/third-party-integrations/analytics/heap">Heap Analytics Integration</Link></h3>
34-
<p>Automatic user behaviour tracking</p>
40+
<h3>
41+
<Link to="/third-party-integrations/analytics/heap">Heap Analytics Integration</Link>
42+
</h3>
43+
<p>Automatic user behaviour tracking</p>
3544
</Card>
3645

3746
<Card>
38-
<h3><Link to="/third-party-integrations/analytics/adobe">Adobe Analytics Integration</Link></h3>
39-
<p>Enterprise analytics and marketing automation</p>
47+
<h3>
48+
<Link to="/third-party-integrations/analytics/adobe">Adobe Analytics Integration</Link>
49+
</h3>
50+
<p>Enterprise analytics and marketing automation</p>
4051
</Card>
4152

4253
<Card>
43-
<h3><Link to="/third-party-integrations/analytics/rudderstack">RudderStack Integration</Link></h3>
44-
<p>Customer data pipeline and privacy-focused analytics</p>
54+
<h3>
55+
<Link to="/third-party-integrations/analytics/rudderstack">RudderStack Integration</Link>
56+
</h3>
57+
<p>Customer data pipeline and privacy-focused analytics</p>
4558
</Card>
4659

4760
</div>
@@ -53,33 +66,45 @@ Monitor flag performance and get alerts with APM tools to ensure proper operatio
5366
<div style={{display: 'grid', gap: '24px', gridTemplateColumns: 'repeat(auto-fit, minmax(300px, 1fr))', margin: '1rem 0'}}>
5467

5568
<Card>
56-
<h3><Link to="/third-party-integrations/observability-and-monitoring/datadog">Datadog Integration</Link></h3>
57-
<p>Cloud monitoring and observability platform</p>
69+
<h3>
70+
<Link to="/third-party-integrations/observability-and-monitoring/datadog">Datadog Integration</Link>
71+
</h3>
72+
<p>Cloud monitoring and observability platform</p>
5873
</Card>
5974

6075
<Card>
61-
<h3><Link to="/third-party-integrations/observability-and-monitoring/new-relic">New Relic Integration</Link></h3>
62-
<p>Application performance monitoring</p>
76+
<h3>
77+
<Link to="/third-party-integrations/observability-and-monitoring/new-relic">New Relic Integration</Link>
78+
</h3>
79+
<p>Application performance monitoring</p>
6380
</Card>
6481

6582
<Card>
66-
<h3><Link to="/third-party-integrations/observability-and-monitoring/grafana">Grafana & Prometheus Integration</Link></h3>
67-
<p>Open-source monitoring and analytics</p>
83+
<h3>
84+
<Link to="/third-party-integrations/observability-and-monitoring/grafana">Grafana & Prometheus Integration</Link>
85+
</h3>
86+
<p>Open-source monitoring and analytics</p>
6887
</Card>
6988

7089
<Card>
71-
<h3><Link to="/third-party-integrations/observability-and-monitoring/appdynamics">AppDynamics Integration</Link></h3>
72-
<p>Enterprise application performance monitoring</p>
90+
<h3>
91+
<Link to="/third-party-integrations/observability-and-monitoring/appdynamics">AppDynamics Integration</Link>
92+
</h3>
93+
<p>Enterprise application performance monitoring</p>
7394
</Card>
7495

7596
<Card>
76-
<h3><Link to="/third-party-integrations/observability-and-monitoring/dynatrace">Dynatrace Integration</Link></h3>
77-
<p>Automatic observability and AIOps</p>
97+
<h3>
98+
<Link to="/third-party-integrations/observability-and-monitoring/dynatrace">Dynatrace Integration</Link>
99+
</h3>
100+
<p>Automatic observability and AIOps</p>
78101
</Card>
79102

80103
<Card>
81-
<h3><Link to="/third-party-integrations/observability-and-monitoring/sentry">Sentry Integration</Link></h3>
82-
<p>Error monitoring and crash reporting</p>
104+
<h3>
105+
<Link to="/third-party-integrations/observability-and-monitoring/sentry">Sentry Integration</Link>
106+
</h3>
107+
<p>Error monitoring and crash reporting</p>
83108
</Card>
84109

85110
</div>
@@ -91,41 +116,54 @@ Keep your teams in sync with project management tools for automatic notification
91116
<div style={{display: 'grid', gap: '24px', gridTemplateColumns: 'repeat(auto-fit, minmax(300px, 1fr))', margin: '1rem 0'}}>
92117

93118
<Card>
94-
<h3><Link to="/third-party-integrations/project-management/jira">Jira Integration</Link></h3>
95-
<p>Issue tracking and project management</p>
119+
<h3>
120+
<Link to="/third-party-integrations/project-management/jira">Jira Integration</Link>
121+
</h3>
122+
<p>Issue tracking and project management</p>
96123
</Card>
97124

98125
<Card>
99-
<h3><Link to="/third-party-integrations/project-management/github">GitHub Integration</Link></h3>
100-
<p>Version control and development collaboration</p>
126+
<h3>
127+
<Link to="/third-party-integrations/project-management/github">GitHub Integration</Link>
128+
</h3>
129+
<p>Version control and development collaboration</p>
101130
</Card>
102131

103132
<Card>
104-
<h3><Link to="/third-party-integrations/project-management/slack">Slack Integration</Link></h3>
105-
<p>Team communication and notifications</p>
133+
<h3>
134+
<Link to="/third-party-integrations/project-management/slack">Slack Integration</Link>
135+
</h3>
136+
<p>Team communication and notifications</p>
106137
</Card>
107138

108139
<Card>
109-
<h3><Link to="/third-party-integrations/project-management/servicenow">ServiceNow Integration</Link></h3>
110-
<p>IT service management and automation</p>
140+
<h3>
141+
<Link to="/third-party-integrations/project-management/servicenow">ServiceNow Integration</Link>
142+
</h3>
143+
<p>IT service management and automation</p>
111144
</Card>
112145

113146
</div>
114147

115148
## CI/CD & Infrastructure
116149

117-
Automate feature flag management in your development workflows with CI/CD platforms for infrastructure-as-code deployments.
150+
Automate feature flag management in your development workflows with CI/CD platforms for infrastructure-as-code
151+
deployments.
118152

119153
<div style={{display: 'grid', gap: '24px', gridTemplateColumns: 'repeat(auto-fit, minmax(300px, 1fr))', margin: '1rem 0'}}>
120154

121155
<Card>
122-
<h3><Link to="/third-party-integrations/ci-cd/terraform">Terraform Provider</Link></h3>
123-
<p>Infrastructure as code automation</p>
156+
<h3>
157+
<Link to="/third-party-integrations/ci-cd/terraform">Terraform Provider</Link>
158+
</h3>
159+
<p>Infrastructure as code automation</p>
124160
</Card>
125161

126162
<Card>
127-
<h3><Link to="/third-party-integrations/ci-cd">CI/CD Overview</Link></h3>
128-
<p>Get started with continuous integration and deployment</p>
163+
<h3>
164+
<Link to="/third-party-integrations/ci-cd">CI/CD Overview</Link>
165+
</h3>
166+
<p>Get started with continuous integration and deployment</p>
129167
</Card>
130168

131169
</div>
@@ -137,8 +175,17 @@ Extend Flagsmith functionality with webhooks and other integration methods.
137175
<div style={{display: 'grid', gap: '24px', gridTemplateColumns: 'repeat(auto-fit, minmax(300px, 1fr))', margin: '1rem 0'}}>
138176

139177
<Card>
140-
<h3><Link to="/third-party-integrations/webhook">Webhook Integration</Link></h3>
141-
<p>Send HTTP notifications when flags change</p>
178+
<h3>
179+
<Link to="/third-party-integrations/backstage">Backstage Plugin</Link>
180+
</h3>
181+
<p>Feature flag observability in your Backstage developer portal</p>
142182
</Card>
143183

144-
</div>
184+
<Card>
185+
<h3>
186+
<Link to="/third-party-integrations/webhook">Webhook Integration</Link>
187+
</h3>
188+
<p>Send HTTP notifications when flags change</p>
189+
</Card>
190+
191+
</div>
417 KB
Loading
270 KB
Loading
502 KB
Loading
82.2 KB
Loading
90.6 KB
Loading

0 commit comments

Comments
 (0)