@backstage-community/plugin-github-actions 0.6.24 → 0.6.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -120,7 +120,7 @@ const serviceEntityPage = (
|
|
|
120
120
|
|
|
121
121
|
Follow this section if you are using Backstage's [new frontend system](https://backstage.io/docs/frontend-system/).
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
Import `githubActionsPlugin` in your `App.tsx` and add it to your app's `features` array:
|
|
124
124
|
|
|
125
125
|
```typescript
|
|
126
126
|
import githubActionsPlugin from '@backstage-community/plugin-github-actions/alpha';
|
|
@@ -136,22 +136,6 @@ export const app = createApp({
|
|
|
136
136
|
});
|
|
137
137
|
```
|
|
138
138
|
|
|
139
|
-
2. Next, enable your desired extensions in `app-config.yaml`. By default, the content and cards will only appear on entities
|
|
140
|
-
that are Components. You can override that behavior here by adding a config block, demonstrated on the 'recent-workflow' card.
|
|
141
|
-
|
|
142
|
-
```yaml
|
|
143
|
-
app:
|
|
144
|
-
extensions:
|
|
145
|
-
- entity-content:github-actions/entity
|
|
146
|
-
- entity-card:github-actions/latest-workflow-run
|
|
147
|
-
- entity-card:github-actions/latest-branch-workflow-runs
|
|
148
|
-
- entity-card:github-actions/recent-workflow-runs:
|
|
149
|
-
config:
|
|
150
|
-
filter: kind:component,api,group
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
3. Whichever extensions you've enabled should now appear in your entity page.
|
|
154
|
-
|
|
155
139
|
### Self-hosted / Enterprise GitHub
|
|
156
140
|
|
|
157
141
|
The plugin will try to use `backstage.io/source-location` or `backstage.io/managed-by-location`
|
package/alpha/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { EntityCardBlueprint } from '@backstage/plugin-catalog-react/alpha';
|
|
3
|
+
import { isGithubActionsAvailable } from '../components/Router.esm.js';
|
|
3
4
|
|
|
4
5
|
const entityGithubActionsCard = EntityCardBlueprint.make({
|
|
5
6
|
name: "workflow-runs",
|
|
6
7
|
params: {
|
|
7
|
-
filter:
|
|
8
|
+
filter: isGithubActionsAvailable,
|
|
8
9
|
loader: () => import('../components/Router.esm.js').then((m) => /* @__PURE__ */ React.createElement(m.Router, { view: "cards" }))
|
|
9
10
|
}
|
|
10
11
|
});
|
|
@@ -19,7 +20,7 @@ const entityLatestGithubActionRunCard = EntityCardBlueprint.makeWithOverrides({
|
|
|
19
20
|
},
|
|
20
21
|
factory(originalFactory, { config }) {
|
|
21
22
|
return originalFactory({
|
|
22
|
-
filter:
|
|
23
|
+
filter: isGithubActionsAvailable,
|
|
23
24
|
loader: async () => import('../components/Cards/index.esm.js').then((m) => /* @__PURE__ */ React.createElement(m.LatestWorkflowRunCard, { ...config.props }))
|
|
24
25
|
});
|
|
25
26
|
}
|
|
@@ -35,7 +36,7 @@ const entityLatestGithubActionsForBranchCard = EntityCardBlueprint.makeWithOverr
|
|
|
35
36
|
},
|
|
36
37
|
factory(originalFactory, { config }) {
|
|
37
38
|
return originalFactory({
|
|
38
|
-
filter:
|
|
39
|
+
filter: isGithubActionsAvailable,
|
|
39
40
|
loader: async () => import('../components/Cards/index.esm.js').then((m) => /* @__PURE__ */ React.createElement(m.LatestWorkflowsForBranchCard, { ...config.props }))
|
|
40
41
|
});
|
|
41
42
|
}
|
|
@@ -53,7 +54,7 @@ const entityRecentGithubActionsRunsCard = EntityCardBlueprint.makeWithOverrides(
|
|
|
53
54
|
},
|
|
54
55
|
factory(originalFactory, { config }) {
|
|
55
56
|
return originalFactory({
|
|
56
|
-
filter:
|
|
57
|
+
filter: isGithubActionsAvailable,
|
|
57
58
|
loader: async () => import('../components/Cards/index.esm.js').then((m) => /* @__PURE__ */ React.createElement(m.RecentWorkflowRunsCard, { ...config.props }))
|
|
58
59
|
});
|
|
59
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityCards.esm.js","sources":["../../src/alpha/entityCards.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport { EntityCardBlueprint } from '@backstage/plugin-catalog-react/alpha';\n\n/**\n * @alpha\n */\nexport const entityGithubActionsCard = EntityCardBlueprint.make({\n name: 'workflow-runs',\n params: {\n filter:
|
|
1
|
+
{"version":3,"file":"entityCards.esm.js","sources":["../../src/alpha/entityCards.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport { EntityCardBlueprint } from '@backstage/plugin-catalog-react/alpha';\nimport { isGithubActionsAvailable } from '../components/Router';\n\n/**\n * @alpha\n */\nexport const entityGithubActionsCard = EntityCardBlueprint.make({\n name: 'workflow-runs',\n params: {\n filter: isGithubActionsAvailable,\n loader: () =>\n import('../components/Router').then(m => <m.Router view=\"cards\" />),\n },\n});\n\n/**\n * @alpha\n */\nexport const entityLatestGithubActionRunCard =\n EntityCardBlueprint.makeWithOverrides({\n name: 'latest-workflow-run',\n config: {\n schema: {\n props: z =>\n z\n .object({\n branch: z.string().default('master'),\n })\n .default({}),\n },\n },\n factory(originalFactory, { config }) {\n return originalFactory({\n filter: isGithubActionsAvailable,\n loader: async () =>\n import('../components/Cards').then(m => (\n <m.LatestWorkflowRunCard {...config.props} />\n )),\n });\n },\n });\n\n/**\n * @alpha\n */\nexport const entityLatestGithubActionsForBranchCard =\n EntityCardBlueprint.makeWithOverrides({\n name: 'latest-branch-workflow-runs',\n config: {\n schema: {\n props: z =>\n z\n .object({\n branch: z.string().default('master'),\n })\n .default({}),\n },\n },\n factory(originalFactory, { config }) {\n return originalFactory({\n filter: isGithubActionsAvailable,\n loader: async () =>\n import('../components/Cards').then(m => (\n <m.LatestWorkflowsForBranchCard {...config.props} />\n )),\n });\n },\n });\n\n/**\n * @alpha\n */\nexport const entityRecentGithubActionsRunsCard =\n EntityCardBlueprint.makeWithOverrides({\n name: 'recent-workflow-runs',\n config: {\n schema: {\n props: z =>\n z\n .object({\n branch: z.string().default('master'),\n dense: z.boolean().default(false),\n limit: z.number().default(5).optional(),\n })\n .default({}),\n },\n },\n factory(originalFactory, { config }) {\n return originalFactory({\n filter: isGithubActionsAvailable,\n loader: async () =>\n import('../components/Cards').then(m => (\n <m.RecentWorkflowRunsCard {...config.props} />\n )),\n });\n },\n });\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { convertLegacyRouteRef } from '@backstage/core-compat-api';
|
|
3
3
|
import { EntityContentBlueprint } from '@backstage/plugin-catalog-react/alpha';
|
|
4
|
+
import { isGithubActionsAvailable } from '../components/Router.esm.js';
|
|
4
5
|
import { rootRouteRef } from '../routes.esm.js';
|
|
5
6
|
|
|
6
7
|
const entityGithubActionsContent = EntityContentBlueprint.make({
|
|
@@ -8,7 +9,7 @@ const entityGithubActionsContent = EntityContentBlueprint.make({
|
|
|
8
9
|
params: {
|
|
9
10
|
defaultPath: "github-actions",
|
|
10
11
|
defaultTitle: "GitHub Actions",
|
|
11
|
-
filter:
|
|
12
|
+
filter: isGithubActionsAvailable,
|
|
12
13
|
routeRef: convertLegacyRouteRef(rootRouteRef),
|
|
13
14
|
loader: () => import('../components/Router.esm.js').then((m) => /* @__PURE__ */ React.createElement(m.Router, { view: "table" }))
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityContent.esm.js","sources":["../../src/alpha/entityContent.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport { convertLegacyRouteRef } from '@backstage/core-compat-api';\nimport { EntityContentBlueprint } from '@backstage/plugin-catalog-react/alpha';\nimport { rootRouteRef } from '../routes';\n\n/**\n * @alpha\n */\nexport const entityGithubActionsContent = EntityContentBlueprint.make({\n name: 'entity',\n params: {\n defaultPath: 'github-actions',\n defaultTitle: 'GitHub Actions',\n filter:
|
|
1
|
+
{"version":3,"file":"entityContent.esm.js","sources":["../../src/alpha/entityContent.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport { convertLegacyRouteRef } from '@backstage/core-compat-api';\nimport { EntityContentBlueprint } from '@backstage/plugin-catalog-react/alpha';\nimport { isGithubActionsAvailable } from '../components/Router';\nimport { rootRouteRef } from '../routes';\n\n/**\n * @alpha\n */\nexport const entityGithubActionsContent = EntityContentBlueprint.make({\n name: 'entity',\n params: {\n defaultPath: 'github-actions',\n defaultTitle: 'GitHub Actions',\n filter: isGithubActionsAvailable,\n routeRef: convertLegacyRouteRef(rootRouteRef),\n loader: () =>\n import('../components/Router').then(m => <m.Router view=\"table\" />),\n },\n});\n"],"names":[],"mappings":";;;;;;AAwBa,MAAA,0BAAA,GAA6B,uBAAuB,IAAK,CAAA;AAAA,EACpE,IAAM,EAAA,QAAA;AAAA,EACN,MAAQ,EAAA;AAAA,IACN,WAAa,EAAA,gBAAA;AAAA,IACb,YAAc,EAAA,gBAAA;AAAA,IACd,MAAQ,EAAA,wBAAA;AAAA,IACR,QAAA,EAAU,sBAAsB,YAAY,CAAA;AAAA,IAC5C,MAAQ,EAAA,MACN,OAAO,6BAAsB,CAAE,CAAA,IAAA,CAAK,CAAK,CAAA,qBAAA,KAAA,CAAA,aAAA,CAAC,CAAE,CAAA,MAAA,EAAF,EAAS,IAAA,EAAK,SAAQ,CAAE,CAAA;AAAA,GACtE;AACF,CAAC;;;;"}
|