diff --git a/microsite/data/plugins/github-insights.yaml b/microsite/data/plugins/github-insights.yaml
new file mode 100644
index 0000000000..8ac8321da0
--- /dev/null
+++ b/microsite/data/plugins/github-insights.yaml
@@ -0,0 +1,9 @@
+---
+title: GitHub Insights
+author: roadie.io
+authorUrl: https://roadie.io
+category: Monitoring
+description: View GitHub Insights for your components in Backstage.
+documentation: https://roadie.io/backstage/plugins/github-insights
+iconUrl: https://roadie.io/static/2ad5123c425908efde0c922d707e737b/06c84/code-icon.png
+npmPackageName: '@roadiehq/backstage-plugin-github-insights'
diff --git a/packages/app/package.json b/packages/app/package.json
index a3b150cef6..01481bea29 100644
--- a/packages/app/package.json
+++ b/packages/app/package.json
@@ -36,6 +36,7 @@
"@octokit/rest": "^18.0.0",
"@roadiehq/backstage-plugin-github-pull-requests": "^0.4.3",
"@roadiehq/backstage-plugin-travis-ci": "^0.2.3",
+ "@roadiehq/backstage-plugin-github-insights": "^0.2.2",
"dayjs": "^1.9.1",
"history": "^5.0.0",
"prop-types": "^15.7.2",
diff --git a/packages/app/src/components/catalog/EntityPage.tsx b/packages/app/src/components/catalog/EntityPage.tsx
index 393ffe2631..16c105ca0b 100644
--- a/packages/app/src/components/catalog/EntityPage.tsx
+++ b/packages/app/src/components/catalog/EntityPage.tsx
@@ -40,6 +40,13 @@ import { Router as ApiDocsRouter } from '@backstage/plugin-api-docs';
import { Router as SentryRouter } from '@backstage/plugin-sentry';
import { EmbeddedDocsRouter as DocsRouter } from '@backstage/plugin-techdocs';
import { Router as KubernetesRouter } from '@backstage/plugin-kubernetes';
+import {
+ Router as GitHubInsightsRouter,
+ isPluginApplicableToEntity as isGitHubAvailable,
+ ReadMeCard,
+ LanguagesCard,
+ ReleasesCard,
+} from '@roadiehq/backstage-plugin-github-insights';
import React, { ReactNode } from 'react';
import {
AboutCard,
@@ -120,6 +127,17 @@ const OverviewContent = ({ entity }: { entity: Entity }) => (
+ {isGitHubAvailable(entity) && (
+ <>
+
+
+
+
+
+
+
+ >
+ )}
{isLighthouseAvailable(entity) && (
@@ -160,6 +178,11 @@ const ServiceEntityPage = ({ entity }: { entity: Entity }) => (
title="Kubernetes"
element={}
/>
+ }
+ />
);
@@ -195,6 +218,11 @@ const WebsiteEntityPage = ({ entity }: { entity: Entity }) => (
title="Kubernetes"
element={}
/>
+ }
+ />
);
const DefaultEntityPage = ({ entity }: { entity: Entity }) => (
diff --git a/packages/app/src/plugins.ts b/packages/app/src/plugins.ts
index 57dc8a3443..bdc3851318 100644
--- a/packages/app/src/plugins.ts
+++ b/packages/app/src/plugins.ts
@@ -36,4 +36,5 @@ export { plugin as GcpProjects } from '@backstage/plugin-gcp-projects';
export { plugin as Kubernetes } from '@backstage/plugin-kubernetes';
export { plugin as Cloudbuild } from '@backstage/plugin-cloudbuild';
export { plugin as CostInsights } from '@backstage/plugin-cost-insights';
+export { plugin as GitHubInsights } from '@roadiehq/backstage-plugin-github-insights';
export { plugin as UserSettings } from '@backstage/plugin-user-settings';
diff --git a/yarn.lock b/yarn.lock
index 7dbc7f964a..4832a549b8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3650,6 +3650,24 @@
resolved "https://registry.npmjs.org/@rjsf/material-ui/-/material-ui-2.3.0.tgz#a051eb4db2ad778e39933a31ba806f415dd3ba90"
integrity sha512-v/xZ4Xk18ZgBARcCe99IDqdO97GU0UC784gG8PhGGFDdy5Rbdy7ixTjHkGYttkr43PB7SX6ttohNhkKSW4nATQ==
+"@roadiehq/backstage-plugin-github-insights@^0.2.2":
+ version "0.2.2"
+ resolved "https://registry.npmjs.org/@roadiehq/backstage-plugin-github-insights/-/backstage-plugin-github-insights-0.2.2.tgz#1647aec22f1f8bc40268f075ae307abf660ae75c"
+ integrity sha512-m4j1kUmoj+ZCRyaisXVBkLW9kaI/OGMq8xzthm4adOb12mS0s2p2P9AMa4T+bRyLgHpQ0vB75qhw4p6sHJAvWA==
+ dependencies:
+ "@backstage/catalog-model" "^0.1.1-alpha.24"
+ "@backstage/core" "^0.1.1-alpha.24"
+ "@backstage/theme" "^0.1.1-alpha.24"
+ "@material-ui/core" "^4.11.0"
+ "@material-ui/icons" "^4.9.1"
+ "@material-ui/lab" "4.0.0-alpha.45"
+ history "^5.0.0"
+ react "^16.13.1"
+ react-dom "^16.13.1"
+ react-markdown "^4.3.1"
+ react-router "^6.0.0-beta.0"
+ react-use "^15.3.3"
+
"@roadiehq/backstage-plugin-github-pull-requests@^0.4.3":
version "0.4.3"
resolved "https://registry.npmjs.org/@roadiehq/backstage-plugin-github-pull-requests/-/backstage-plugin-github-pull-requests-0.4.3.tgz#720fd3c53ae8e61d8cfc727cda47e236af442b02"
@@ -19374,7 +19392,7 @@ react-router@5.2.0:
tiny-invariant "^1.0.2"
tiny-warning "^1.0.0"
-react-router@6.0.0-beta.0:
+react-router@6.0.0-beta.0, react-router@^6.0.0-beta.0:
version "6.0.0-beta.0"
resolved "https://registry.npmjs.org/react-router/-/react-router-6.0.0-beta.0.tgz#3e11f39b6ded4412c2fed9e4f989dd4c8156724d"
integrity sha512-VgMdfpVcmFQki/LZuLh8E/MNACekDetz4xqft+a6fBZvvJnVqKbLqebF7hyoawGrV1HcO5tVaUang2Og4W2j1Q==